计算jQuery $ .get成功响应的数量

时间:2015-03-04 10:42:10

标签: php jquery curl

我有一个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?

3 个答案:

答案 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)

您可以使用$.ajaxsuccess参数。传递给此参数的函数仅在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可以简单地对该记录执行操作。