Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery ajax类型:发布到未在IE中启动的ashx文件。在FF、Chrome和Safari中工作良好_Jquery_Ajax_Post_Ashx - Fatal编程技术网

Jquery 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类型:发布到未在IE中启动的ashx文件。在FF、Chrome和Safari中工作良好

代码如下:

$.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