我在一个Visual Studio解决方案中有两个简单的项目来理解jQuery ajax请求的工作原理。一个是Web服务,第二个是使用Web服务的项目。
您可以从这里下载非常小的项目。的 Download Project file
正如您在项目中看到的,每当我尝试调用Web服务时,都会发生内部服务器错误500.
在chrome中,我可以看到以下警告(由Ajax调用的“Error”函数执行)
请帮助我找到问题..
编辑:
function btnClick() {
debugger;
var txtValue = $('#txtValue');
var text = txtValue.val();
//
//
$.ajax({
url: "http://localhost:12000/ExampleJsonWS.asmx/getValue",
type: "POST",
dataType: "json",
data: "{" + txtValue.val() + "}",
timeout: 30000,
async: false,
contentType: "application/json; charset=utf-8",
success: function (data) {
debugger;
alert(data);
return data;
},
error: function (result) {
debugger;
//alert(e);
alert(result.status + ' ' + result.statusText);
}
});
}
答案 0 :(得分:1)
问题在于,当GET可以执行此操作时,不能将Web服务保留在不同的项目中。 (由Phillip Haydon解释)。如果我理解错误或有人想要分享更多信息,那么欢迎他们:)
有关详细信息,请查看 link
更好的选择是将Web服务保留在项目中,并将其他Web服务(需要的)调用到Project的Web服务中。
答案 1 :(得分:0)
我认为问题可能在于您从Example.aspx调用Web服务:
url: "http://localhost:12000/ExampleJsonWS.asmx/getValue",
尝试这样的事情:
url: "/ExampleJsonWS.asmx/getValue",
另外,请查看此帖子:NETWORK_ERROR: XMLHttpRequest Exception 101。