0

結果文字列が返されるWebサービスを呼び出すjquery AJAXリクエストがあります= "Tested!"。URLを介してリクエストを行うと、{"testResult":"Tested!"}が返されます。これは私には理にかなっています。

私のエラーは、jQuery AJAX リクエストが Web サービスにヒットし、ブレークポイントにヒットし、文字列を返しますが、成功ではなくエラー コードにヒットすることです。

エラー コードは次のとおりです。

 //function(xhr,status,message)
 xhr.statusText = success
 status = parseerror
 message: Error Jquery17204...   was not called.

以下は私のAJAXリクエストです。たぶん、私が取得していない何か問題があり、返されたコードがエラーになっている可能性があります。

$.ajax({
            type: 'GET',
            url: WEBSERVICE_URL + '/test',
            dataType: 'jsonp',
            success: function (result, textStatus, jqXHR) {
                //success
                result = JSON.parse(result);
                var r = $(result.getWebFormDesignFieldContentsResult)[0];
                var div = $("<div class='modal'>").html(r.d);
                /*
                var d = document.createElement("div");
                d.className = "modal";
                d.appendChild(r[0]);
                */
                $("div.modal").replaceWith(div);
                $("div.modal #queryInput").val(opts);
                $("div.modal").css({
                    top: $(window).height() / 2 - $("div.modal").height() / 2,
                    left: $(window).width() / 2 - $("div.modal").width() / 2
                });
                $("div.modal").fadeIn();
            },
            error: function (xhr, status, message) {
                //error
                //alert("Error: "+result.statusText);
                alert("Error: " + status + " " + message);

                //$("div.modal").replaceWith($("<div class = 'modal'>").html(result.responseText));
                //$("div.modal").fadeIn();
                $("div.overlay").fadeOut();
            }
        });
4

1 に答える 1

0

JSONP 呼び出しを行っているため、サーバーから返される結果は次のようになります。

Jquery17204({"testResult":"Tested!"})

サーバーはクエリ文字列を受け取りcallback、関数名として使用する必要があります。この場合、AJAX リクエストが送信されましcallback=Jquery17204た。

于 2012-07-09T15:42:54.723 に答える