【发布时间】:2012-12-15 14:19:05
【问题描述】:
我在单个 Visual Studio 解决方案中有两个简单的项目,以了解 jQuery ajax 请求的工作原理。一个是 Web 服务,第二个是使用 Web 服务的项目。
您可以从这里下载非常小的项目。 Download Project file
正如您在项目中看到的,每当我尝试调用 Web 服务时,都会发生内部服务器错误 500。
在 chrome 中,我可以看到以下警报(由 Ajax 调用的“错误”函数执行)
请帮我找出问题..
编辑:
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);
}
});
}
【问题讨论】:
-
如果您收到 500 错误,则表示服务器端有问题。您可以在开发人员控制台中查看请求/响应,以确保您通过 jQuery 的 Ajax 发送正确的信息。此外,发布到问题中的一些代码比要求我们下载来源不明的文件要好。
-
如果您通过正常的 http 请求访问端点会发生什么?
-
@JayBlanchard 我不确定要在此处保留什么代码,因此我添加了出现错误的代码(jquery 文件)。我希望这会做......顺便说一句,我确信webservice代码没有问题,因为它是现成的文件。
-
@parKing 你的意思是如果我运行 Web 服务?如果是这样,那么它在调用时运行良好,甚至没有错误。
-
@JayBlanchard 不,这是正确的,我得到了答案。我忘了在这里发帖。问题是它不可能通过将 web 服务保持在不同的项目中来发布,而 GET 可以做到这一点。 (由Phillip Hayden 解释)。如果我理解错了或者有人想分享更多,那么欢迎他们:)
标签: jquery asp.net ajax web-services