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

时间:2009-03-17 17:43:13

标签: asp.net jquery asp.net-mvc ajax

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

  

<a href="#" onclick="AjaxTest1()">Tester</a>

使用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等......什么都行不通。我觉得我必须错过一些非常非常简单的东西 - 特别是因为谷歌没有帮助。想法?

2 个答案:

答案 0 :(得分:5)

我无法相信我弄清楚了这一点 - jquery-1.3.1*vsdoc.js中存在一个拼写错误(如果有人感兴趣的话,它会在jQuery.httpData中 - 他们将输入参数定义为filter ,然后尝试将其引用为s,这会引发异常)。奇怪的是,如果您使用非* vsdoc版本,则输入错误。

看起来他们用vsdocs发布了jQuery-1.3.2 - 它没有拼写错误。所以我想答案就是下载更新。 (jQuery Download Page

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

答案 1 :(得分:1)

你是否在进入伟大的google虚空之旅中获得了这篇文章?

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