0

私は今まで見たことがない奇妙な状況にあります。SQLクエリを実行するメソッドを呼び出し、json応答を構築し、応答ストリームに書き戻すjqueryajaxがあります。

ajax呼び出しが実行されるとすぐに、null応答テキストで成功として完全な関数が起動します。メソッドをデバッグして、応答を作成して返すことを確認できます。ここで何かアイデアがわかりませんか?それが役立つ場合は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;
                }
            }


        });
4

3 に答える 3

1

POST を使用しているため、データを GET としてではなく POST 値として送信して、次のように URL に追加することができます。

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

または、タイプとして GET を使用してみてください

于 2012-08-30T04:36:03.540 に答える
0

あなたのすべての提案に感謝します。問題は、jqgrid 内で ajax 呼び出しがあったことです。何らかの理由で、成功関数をすぐに起動させていました。グリッドの外に移動すると、すべてが機能し始めました。

最良の答えではありませんが、他の人の助けになるかもしれません。

ブレイク

于 2012-08-31T03:40:52.573 に答える
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;
                }
            }
于 2012-08-30T11:53:08.137 に答える