jquery ajax立即完成功能

时间:2012-08-30 04:26:33

标签: jquery asp.net ajax

我有一种我从未见过的奇怪情况。我有一个jquery ajax,它调用一个执行sql查询的方法,构建json响应并将其写回响应流。

一旦执行了ajax调用,就会使用null响应文本激活complete函数....我可以调试该方法,看看它是在构建响应并返回它。只是不确定这里有什么想法吗? ASP .net如果有帮助的话。

        jQuery.ajax({
            url: 'Data/ServiceCalls.aspx?SelectRequestsWithDate=1&start_date=' + escape(jQuery("#request_start_date").val()) + '&end_date=' + escape(jQuery("#request_end_date").val()) + "'",
            type: "POST",
            dataType: "json",
            success: function (jsonresponse, stat) {


                if (stat === "success") {
                    var thegrid = jQuery("#grid_requests")[0];
                    var jsonObject = eval('(' + jsonresponse.responseText + ')');
                    thegrid.addJSONData(jsonObject);
                    jsonresponse = null;
                    thegrid = null;
                }
            }


        });

3 个答案:

答案 0 :(得分:1)

当您使用POST时,您可以尝试将数据作为POST值发送,而不是将GET附加到您的网址,例如:

jQuery.ajax({
   url: 'Data/ServiceCalls.aspx",
   type: "POST",
   dataType: "json",
   data : {"SelectRequestsWithDate" : 1"...},
   ......

或尝试使用GET作为您的类型

答案 1 :(得分:0)

如果要调试,只需将成功回调函数移动到另一个函数:

jQuery.ajax({
            url: 'Data/ServiceCalls.aspx?SelectRequestsWithDate=1&start_date=' + escape(jQuery("#request_start_date").val()) + '&end_date=' + escape(jQuery("#request_end_date").val()) + "'",
            type: "GET",
            dataType: "json",
            success: callback
        });

function callback (jsonresponse, stat) {


                if (stat === "success") {
                    var thegrid = jQuery("#grid_requests")[0];
                    var jsonObject = eval('(' + jsonresponse.responseText + ')');
                    thegrid.addJSONData(jsonObject);
                    jsonresponse = null;
                    thegrid = null;
                }
            }

答案 2 :(得分:0)

我感谢您的所有建议。问题似乎是我在jqgrid中进行了ajax调用。无论出于何种原因,它都会立即触发成功功能。我把它移到网格外面,一切都开始工作了。

不是最好的答案,但也许会帮助别人。

布雷克