【发布时间】:2009-06-08 18:21:58
【问题描述】:
我向 PHP 脚本发出 AJAX 请求,该脚本从一个发生变化的文本文件中返回一个数字。此 AJAX 请求应每 3 秒发生一次。但是,AJAX 请求只发出一次,它不会返回任何内容,并且萤火虫显示 AJAX GET 请求仍在发出中。几分钟后它返回并产生一个数字。它应该打了多个电话,但它只打了一个电话,它只是带着最终的答案回来了。我正在努力弄清楚这是怎么发生的!? :(
//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 相关。
感谢大家的帮助。
【问题讨论】:
标签: php javascript jquery ajax