jQuery / ASP MVC – “$ .ajax”调用中的parsererror

我想使用jQuery 1.3.1在ASP.Net MVC RC2中创建一个简单的动作链接 – 类似这样:

Tester

使用AjaxTest1函数:

 function AjaxTest1() { $.ajax({ url: "Home/Ajax1", error: function(request, status, error) { alert("error: " + status + ", " + "\n" + error + ", " + request.responseText + request.getAllResponseHeaders()); }, success: function(data, status) { alert("Finally, it worked!"); }, type: "GET", dataType: "text", }); return false; } 

和控制器动作:

 public ActionResult Ajax1() { return this.Content("Test Content"); } 

我所要做的就是返回一个简单的字符串 – 但是“错误”回调总是被调用,错误是parseerror 。 XmlHttpRequest中包含内容字符串“Test Content” – 因此正在调用控制器操作并返回正确的数据。 我试图设置dataType(到“text”,“html”,“json”),在控制器中使用JsonResult类型,将返回的内容类型设置为“text / plain”,使用$ .get ,$ .getJson等……没有用。 我觉得我必须错过一些非常非常简单的东西 – 特别是因为谷歌没有帮助。 想法?

我无法相信我想出来了 – 在jquery-1.3.1*vsdoc.js有一个拼写错误(在jQuery.httpData如果有人感兴趣的话 – 他们将输入参数定义为filter ,然后尝试引用它作为s ,抛出exception)。 奇怪的是,如果您使用非* vsdoc版本,则输入错误。

看起来他们用vsdocs发布了jQuery-1.3.2 – 它没有输入错误。 所以我想说的答案就是下载更新。 ( jQuery下载页面 )

我生命中有一天…希望这有助于某人。

你有没有在旅行中获得这篇文章进入伟大的谷歌空白?

http://encosia.com/2008/06/05/3-mistakes-to-avoid-when-using-jquery-with-aspnet-ajax/

他还有很多关于asp.net和jquery交互的文章。

你尝试过POST而不是GETing吗? 如下所示: http : //weblogs.asp.net/scottgu/archive/2007/04/04/json-hijacking-and-how-asp-net-ajax-1-0-mitigates-these-attacks.aspx