私はAJAXリクエストを、変更されたテキストファイルから数値を返すPHPスクリプトにします。このAJAXリクエストは、3秒ごとに発生する必要があります。ただし、AJAXリクエストは一度行われ、何も返されず、AJAX GETリクエストがまだ行われていることを示すファイルがあります。数分後に戻り値が生成されます。それは複数の呼び出しをしているはずですが、それは1つしか作成していませんでした、そして、それは最終的な答えで戻ってきました。私はこれがどう起こったのか把握するのに苦労しています! :(なぜこのAJAXリクエストは複数回コールする必要があるのですか?
//this is called first which calls getStatus which should get the progres of the
//conversion. This AJAX request takes a long time to come back which may hinder the
//getStatus coming back quickly maybe?
function convertNow(validURL){
startTime = setTimeout('getStatus();', 6000);
$.ajax({
type: "GET",
url: "main.php",
data: 'url=' + validURL + '&filename=' + fileNameTxt,
success: function(msg){
}//function
});//ajax
}//function convertNow
function getStatus(){
$.ajax({
type: "POST",
url: "fileReader.php",
data: 'textFile=' + fileNameTxt,
success: function(respomse){
textFileResponse = respomse.split(" ");
$("#done").html("Downloading" + textFileResponse[0]);
if(textFileResponse[0]=='100.0%'){
$("#loading").hide("slow");
$("#done").html("Complete");
return;
}
continueTime = setTimeout('getStatus();', 3000);
}
});//ajax
}
二JavaScript関数を呼び出すPHPスクリプトはこれです:
$fileName = $_POST['textFile'];
//calls an external script to get the text file output
$result = file_get_contents($_SESSION['serverURL']."fileReader.php?textFile=$fileName");
echo $result;
は、上記の正しいです、そして私のロジックは、上記取得されまたは上記は、AJAX要求がされるだけを意味するのでしょうか?作ったのですか?
この質問はanother questionに関連している。私は以前考えられていたPHPスクリプトが遅かった。私はこの問題は、今ではJavaScript関連のある期待しています。
ありがとうございました。
あなたはそれがJSの部分ではないのは間違いありません。それは私が思っている別のAJAXメソッドが作られていたので、長い間何も戻ってこないPHPの問題であることが判明しました!私はそれを再設計する必要がある! – Abs