【发布时间】:2014-01-30 22:20:25
【问题描述】:
我这样做已经一年多了,我不记得我用来调试这种情况的技巧了。有一个 ajax jquery 调用 Web 服务方法的 asp.net 页面 像这样。
<script>
$(document).ready(function () {
//test
debugger;
$.ajax({
type: "POST",
url: "Common.asmx/GetStateList",
dataType: "json",
data: "{}",
contentType: "application/json; charset=utf-8",
success: function (data) {
var datafromServer = data.d.split(":");
$("[id$='tbOrderState']").autocomplete({
source: datafromServer
});
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert(textStatus);
}
});
})
但是,当它运行时...我在 Web 服务代码中的断点未命中,我只是在弹出警报中得到“错误”。
我可以检查什么。
【问题讨论】:
-
弹出打开您的开发者工具 (F12) -- 并检查“网络”选项卡。您会看到请求以及发生了什么。
-
您是否在 asmx 中的方法中添加了 [ScriptMethod]?
-
不,没有使用 [ScriptMethod] 属性,必须查找它。看起来很有用。另外,我使用 F12 工具查看了 Network 选项卡,果然,我对 Web 服务的调用得到了 500 错误……但是我在 Web 服务中的断点没有被命中?它在同一个项目中。
-
谢谢你们,我应该注意到 Web 服务类属性中的 cmets // 要允许使用 ASP.NET AJAX 从脚本调用此 Web 服务,请取消注释以下行。现在工作!
标签: jquery asp.net ajax jquery-ui