0

我有一个 jquery AJAX 请求调用一个 web 服务,结果字符串被返回 =“测试!”。当我通过 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 回答