我有一个jquery AJAX请求调用webservice,结果字符串被返回=“已经测试过!”。当我通过网址提出请求时,它会返回:{“testResult”:“已经过测试!”}这对我来说很有意义。
我的错误是jQuery AJAX请求,会点击webservice,点击断点,然后返回字符串,但仍然会点击错误代码而不是成功。
错误代码如下:
//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();
}
});
答案 0 :(得分:0)
您正在进行JSONP调用,因此从服务器返回的结果必须如下所示:
Jquery17204({"testResult":"Tested!"})
服务器应该使用查询字符串callback
并将其用作函数名称。在这种情况下,AJAX请求发送了callback=Jquery17204
。