Javascript 使用Jquery+;Firefox上的ASP.NETMVC

Javascript 使用Jquery+;Firefox上的ASP.NETMVC,javascript,jquery,asp.net-mvc,firefox,Javascript,Jquery,Asp.net Mvc,Firefox,我有一个简单的$.ajax请求,我正试图在我的ASP.NETMVC应用程序中获取一些HTML内容 // Load the claim table function GetClaimTable() { $.ajax({ type: "GET", url: "claimtable", data: {}, datafilter: null, d

我有一个简单的$.ajax请求,我正试图在我的ASP.NETMVC应用程序中获取一些HTML内容

        // Load the claim table
    function GetClaimTable() {
        $.ajax({
            type: "GET",
            url: "claimtable",
            data: {},
            datafilter: null,
            dataType:'text',
            success: function(msg){
                alert(msg);
                $("#claimTable").html(msg.responseText);
            },
            error: function(msg, sdf, sdd) {
                alert(sdf);
                alert(sdd);
            }
        });
但是我得到了一个错误。调用成功是因为我在firefox中看到200 OK,并且错误包含XmlHttpRequest对象,该对象在responseText属性中具有正确的数据

该代码在IE中运行良好,但在firefox中失败。url claimtable是一个简单的MVC操作

我在这里读到,这是由于jQuery1.3.2中解决了一个打字错误造成的。但是我有1.3.2,我得到了这个错误


有什么帮助吗?

无需执行msg.responseText。msg本身就是responseTExt

如果您试图从服务器获取HTML,为什么要指定数据类型:“text”?您的操作返回的内容类型标头是什么?服务器发送的ContentType标头与实际内容之间似乎存在一些不一致之处。

我终于找到了发生这种情况的原因。原因是我编写的ajaxSetup可以更顺利地处理jQueryWebService请求。很明显,尽管我重写了新函数中的设置,并且发生了parsererror,但还是出了问题。我删除了ajaxSetup,现在一切正常

这就是摧毁了我3个小时生活的功能

$.ajaxSetup({
    type: "POST",
    cache:false,
    contentType:"application/json;charset=utf-8",
    data:"{}",
    dataFilter: function(data) {
        var msg;

        if (typeof (JSON) !== 'undefined' && 
            typeof (JSON.parse) === 'function')
          msg = JSON.parse(data);
        else
          msg = eval('(' + data + ')');

        if (msg.hasOwnProperty('d'))
          return msg.d;
        else
          return msg;
        }
});

看起来很无辜。呃?

您能发布FF给您的完整解析错误吗?这里没有完整解析错误。就这些了。这是一个字符串:“parsererror”嗯。。。就像我说的请求失败了。在错误函数中,msg具有responseText属性。如果它成功了,它就不会有了。我也尝试过contentType HTML。我最终使用了文本,因为这是一种不应该被解析的内容类型。