Jquery ajax类型:发布到未在IE中启动的ashx文件。在FF、Chrome和Safari中工作良好
这是我要问的第一个问题 ajax类型:发布到未在IE中启动的ashx文件。在FF、Chrome和Safari中工作良好 代码如下:Jquery ajax类型:发布到未在IE中启动的ashx文件。在FF、Chrome和Safari中工作良好,jquery,ajax,post,ashx,Jquery,Ajax,Post,Ashx,这是我要问的第一个问题 ajax类型:发布到未在IE中启动的ashx文件。在FF、Chrome和Safari中工作良好 代码如下: $.ajax({ type: "Post", url: "http://[ ... ]loguserdata.ashx?" + dataString, data: "", cache: "false", contentType: "text/plain", success: fu
$.ajax({
type: "Post",
url: "http://[ ... ]loguserdata.ashx?" + dataString,
data: "",
cache: "false",
contentType: "text/plain",
success: function(msg){
//alert( "Data Saved: " + msg );
}
});
在FF中工作正常,等等。我的意思是调用ashx文件并记录信息。
我可以在fiddler、firebug和chrome中看到ajax调用
但在IE9或IE兼容模式中似乎并没有出现jackchit
我可以在其他浏览器中使用上述代码的多个版本。包括$('#result')。加载(…
但在IE中什么都不起作用
顺便说一句,在IE的本地工作很好
哦,我对任何回报值都不在乎
这不是缓存问题。我在查询字符串的末尾加了一个date=getTime()
querystring(dataString)
看起来像fname=john&lname=doedy
编辑:我已经解决了这个问题。明天有时间我会发布一个完整的答案。检查你的IE安全性,因为它在本地工作。我想locahost上的文件有更多特权
编辑:
IE9也防止跨域ajax调用Opera浏览器。
对于IE9,您可以阅读以下内容作为解决方法。建议使用XDR(XDomainRequest)而不是通常的XMLHttpRequest。尝试一下,因为您不发送POST数据:
$.ajax({
type: "GET",
url: "http://[ ... ]loguserdata.ashx?" + dataString,
cache: "false",
contentType: "text/plain",
success: function(msg){
//alert( "Data Saved: " + msg );
}
});
长话短说:
不能跨域执行XMLHttpRequest。请使用jQuery的getJSON方法,并将querystring参数&callback=?添加到url中。我相信这会将数据类型转换为JSONP
var url = 'http://handlers.flowauto.com/eprice/loguserdata.ashx?fname=jim&callback=?';
$.getJSON(url, function(data) {
// do some stuff
});
下面是一些帮助我解决这个问题的链接
见下文摘录
如果URL包含字符串“callback=?”(或类似字符串,如
由服务器端API定义),请求被视为JSONP
有关详细信息,请参见$.ajax()中对jsonp数据类型的讨论
更多细节
见下文摘录
附加说明:由于浏览器安全限制,大多数“Ajax”
请求受同源策略的约束;请求不能
成功地从其他域、子域或
脚本和JSONP请求的来源不同
政策限制
通过在ajax调用之前放置一些警报,检查您是否在IE中的事件中调用了代码。使用HTTP检查器的其他JQueryConsider可能有问题(例如)看看到底是什么在来回移动。还要看看在IE中是否有冲突的脚本在搅乱事情。也许我应该添加一个直接链接到文件,即href=“blah.ashx?fname=john”在所有浏览器中都可以正常工作。N Rohler nothing is Goat period。Jayantha Alert在$ajax调用所有浏览器之前可以正常工作。这将添加到公共网站。要求用户更改其设置实际上不是一个选项。我根据您的评论编辑了我的答案(不在同一域中)Rick,这仍然只适用于Chrome和FF,但不适用于IE。在旁注中,我刚从ashx文件更改为aspx文件。同样的事情。适用于Chrome和FF,但不适用于IE