2017-04-12 20 views
0

似乎我的mvc应用程序中的一个JSON请求在使用Firefox但在IE上运行时失败(而且这部分似乎也适用于chrome)。我认为这可能是由于同源策略,但根据我的理解,它不应该引起任何麻烦,因为所有请求都使用相同的主机和协议(在这种情况下,localhost)。当我检查了Firefox的网络功能,即Chrome调试器的请求时,IE和Chrome的请求似乎以270b来回答,而FF请求仅得到2b。任何帮助,将不胜感激。获取json数据在IE中可用,但不能用FF和Chrome

代码:

$(function() { 
    // this seems to work fine in FF and IE 
    var IncludeTerminatedFlag = getIncludeTerminatedFlag(); 
    $.getJSON("/Search/GetDebtorList", { DebtorNameCode: '', CountryCode: CountryCode, IncludeTerminatedFlag: IncludeTerminatedFlag }, function (data) { 
     // some actions 
    }); 
    // this works fine in FF and IE 
    $.getJSON("/Search/GetStaffList", { StaffNameCode: '', CountryCode: CountryCode, IncludeTerminatedFlag: IncludeTerminatedFlag }, function (data) { 
     // some actions 
    }); 
    // this works fine in FF and IE 
    $.getJSON("/Search/GetStaffList", { StaffNameCode: '', CountryCode: CountryCode, IncludeTerminatedFlag: IncludeTerminatedFlag }, function (data) { 
     // some actions 
    }); 

    // this does not work in FF but works in IE 
    $.getJSON("/Search/GetClientList", { ClientNameCode: '', CountryCode: CountryCode, IncludeTerminatedFlag: IncludeTerminatedFlag }, function (data) { 
     // some actions 
    }); 

} 

编辑:当我试图调试它的Firefox下,似乎laston的getJSON调用失败?因为它不在功能内部。当我尝试使用$ ajax语法时,它也不起作用

+0

如果不知道服务器上的GetClientList路径返回的内容,我们无法做出肯定的答案。 – K3v1n

+1

检查服务器端的错误,或在其中添加一些调试代码以查看发生了什么。如果你只返回2个字节,那么你应该看看下一个。 – trincot

+0

@trincot我添加了一些编辑信息。如何检查服务器端的错误? – Xyzk

回答

1

返回的JSON格式不正确(Chrome非常严格)。尝试添加错误捕获来查看错误在Chrome中是什么

$.getJSON("/Search/GetDebtorList", { DebtorNameCode: '', CountryCode: CountryCode, IncludeTerminatedFlag: IncludeTerminatedFlag }, function (data) { 
    // some actions 
}) 
.error(function(data) { 
    console.log("Error: " + data); 
}); 
+0

没有铬错误,但它帮助我找到Firefox的错误。它在功能内部,我正在更换按钮。不知道为什么当我使用firefox进行调试时,它只是跳过getJSON中的函数的全部内容。 – Xyzk

相关问题