以下JSON调用总是遇到AJAX错误处理程序,我无法弄清楚原因:
$.ajax({
type: "GET",
url: '<%= Url.Action("MyTest", "Detail") %>',
dataType: "json",
error: function (xhr, status, error) {
alert(xhr + " | " + status + " | " + error);
},
success: function (json) {
alert(json);
}
});
我得到的只是Failed to load resource: the server responded with a status of 500 (Internal Server Error) http://localhost:4497/Detail/MyTest?_=1320681138394
当我在控制器中设置断点时,我可以看到它正在到达,所以我不确定请求在哪里掉下来。这是DetailController中的动作:
Function MyTest() As JsonResult
Return Json("Hello")
End Function
有什么想法吗?
答案 0 :(得分:3)
jQuery错误处理程序被触发,因为它无法将返回的页面解析为有效的JSON。由于您收到500内部服务器错误,因此页面很可能不包含有效的JSON。
在浏览器中加载此页面并修复它,直到它提供有效的json:
http://localhost:4497/Detail/MyTest
在浏览器中提供有效的json之后,请尝试jQuery ajax调用。
我甚至不知道VB.NET的基本功能,但是你可以这样做,http://localhost:4497/Detail/MyTest上打印的唯一内容就像:
print( '{"message":"hello"}' );
如果页面输出的唯一内容是{"message":"hello"}
,那么json错误处理程序将不会触发