我有一个jQuery函数,每隔100ms加载一个PHP文件(从应用程序获取JSON响应)。我想要做的是有两个不同的计数器,一个在每次发送请求时递增,另一个计数器在获得JSON响应后立即递增。目前我有以下无法正常工作,他们只是计算发送请求的数量: -
JQUERY
$(function() {
var MAXNUM = 9;
var count = 0;
var countSuccess = 0;
function newAsyncRequest() {
setTimeout(function() {
newAsyncRequest();
count++;
$(".request").html(count);
$.get('test.php', function(data) {
countSuccess++;
$( ".log" ).html(countSuccess);
});
}, 100);
}
newAsyncRequest();
});
PHP
require_once('scripts/php/controllers/curl.controller.php');
$postcode = 'LE11 5';
$postcode = rawurlencode($postcode);
$uri = 'http://192.168.1.110:8290/?pc='.$postcode; // Home
$response = CurlController::request($uri);
所以我的问题基本上是,如何计算我得到的成功回复的数量。$ get command?
答案 0 :(得分:0)
需要将count
打印到.request
,您在两个语句中使用countSuccess
$(function() {
var MAXNUM = 9;
var count = 0;
var countSuccess = 0;
function newAsyncRequest() {
setTimeout(function() {
newAsyncRequest();
count++;
$(".request").html(count);
//need to print here
$.get('test.php', function(data) {
countSuccess++;
$( ".log" ).html(countSuccess);
});
}, 100);
}
newAsyncRequest();
});
答案 1 :(得分:0)
您可以使用$.ajax的success
参数。传递给此参数的函数仅在ajax请求成功时才会运行。
$.ajax({
url:"",
type: "get",
beforeSend: function(){ requestCounter++ },
success: function(){ successCounter++ }
});
答案 2 :(得分:0)
你有什么决定成功?
.get'成功'是服务器响应,希望它总能做到。
如果你在PHP脚本中作为somthign工作,那么在PHP中然后在jquery成功函数中检查' data'中返回的内容。看看它是否成功。
我通常会返回一个Json编码数组,其中包含一个名为' result'由PHP设置为ture或false,jquery可以简单地对该记录执行操作。