Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.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
safari和chrome中的jquery$.ajax()不';行不通_Ajax_Google Chrome_Jquery_Safari - Fatal编程技术网

safari和chrome中的jquery$.ajax()不';行不通

safari和chrome中的jquery$.ajax()不';行不通,ajax,google-chrome,jquery,safari,Ajax,Google Chrome,Jquery,Safari,我想使用$.ajax从xml文件中读取一些信息,以下是我的js代码: $.ajax({ type: "get", url: "Database/App_all.xml", dataType: "xml", timeout: 2000, beforeSend: function () { }, success: f

我想使用$.ajax从xml文件中读取一些信息,以下是我的js代码:

        $.ajax({
            type: "get",
            url: "Database/App_all.xml",
            dataType: "xml",
            timeout: 2000,
            beforeSend: function () {

            },
            success: function (xml) {
                $(xml).find("app[id='id-1']").appendTo($("#contain"));
            },
            error: function () {
                alert("ajax failed!");
            }
        });
然而,这些代码只在firefox和opera中有效

它在chrome(7.0.517.24)和safari(5.0.1)中不起作用,在没有任何警报的情况下失败,甚至没有警报(“ajax失败”)

chrome和safari中的$.ajax是否存在任何bug?那么如何解决这个问题呢


非常感谢:)

您应该使用chrome或safari的内置开发工具(ctrl+shift+i)来跟踪JS错误和实际AJAX请求

您的代码是否包装在document.ready中?javascript控制台中是否存在错误?还尝试在成功回调行之后输出一些内容


另一个原因可能是服务器返回的XML文件的mime类型不正确。它应该是[内容类型:text/xml]。您可以在chrome或safari的内置开发人员工具中检查这一点,只要在选择xml资源时查找headers选项卡即可。如果这是实际问题,您可能需要调整web服务器配置(apache的主配置或.htaccess)以返回正确的mime类型。

您应该使用chrome或safari的内置开发工具(ctrl+shift+i)来跟踪JS错误和实际的AJAX请求

 $(xml).find("app[id='id-1']").appendTo($("#contain"));
您的代码是否包装在document.ready中?javascript控制台中是否存在错误?还尝试在成功回调行之后输出一些内容

另一个原因可能是服务器返回的XML文件的mime类型不正确。它应该是[内容类型:text/xml]。您可以在chrome或safari的内置开发人员工具中检查这一点,只要在选择xml资源时查找headers选项卡即可。如果这是实际问题,您可能需要调整web服务器配置(apache的主配置或.htaccess)以返回正确的mime类型

 $(xml).find("app[id='id-1']").appendTo($("#contain"));
xml基本上返回什么,一个带有“#”like“#mydiv”或类like“.mydiv”的元素

我认为您正在尝试访问一个元素,如果您没有返回带有“#”的元素,请尝试

xml基本上返回什么,一个带有“#”like“#mydiv”或类like“.mydiv”的元素

我认为您正在尝试访问一个元素,如果您没有返回带有“#”的元素,请尝试


首先感谢您gajendra.bangMāris Kiseļovs给我一些建议,我知道我的代码出了什么问题,在我得到一个糟糕的结果后,我试图确切地知道$.ajax从xml得到了什么,所以我使用firebug检查div#contain我发现:

 <div id="contain">
        <auther>cocept</auther>
 </div>
那么div$contain是:

 <div id="contain">
        cocept
 </div>
 
接受
 

所以,chrome和safari可以再次展示

首先感谢你gajendra.bangMāris Kiseļovs给我你的建议,我知道我的代码有什么问题,在我得到一个糟糕的结果后,我试图知道$.ajax从xml中得到了什么,所以我使用firebug检查div#contain我发现:

 <div id="contain">
        <auther>cocept</auther>
 </div>
那么div$contain是:

 <div id="contain">
        cocept
 </div>
 
接受
 

所以,chrome和safari可以再次展示

我想您在按照ajax读取本地文件方面有问题。Ajax可用于从同一web服务器读取文件,但如果不是通过HTTP读取文件,则存在一些安全限制

在firefox和opera中,您可以读取本地文件(使用类似url的url)file:///C:/Program%20Files/My/Database/App_all.xml)每一个ajax没有任何问题

在Internet Explorer中,您应该使用
数据类型:“text”
,然后将文本转换为XML(阅读更多信息)

要在Chrome中读取本地文件,必须使用其他参数重新启动Chrome:

chrome.exe --allow-file-access-from-files

(在启动Chrome.exe之前,请确保所有其他chorme实例都已关闭)。

我想您在读取每个ajax的本地文件时遇到问题。Ajax可用于从同一web服务器读取文件,但如果不是通过HTTP读取文件,则存在一些安全限制

在firefox和opera中,您可以读取本地文件(使用类似url的url)file:///C:/Program%20Files/My/Database/App_all.xml)每一个ajax没有任何问题

在Internet Explorer中,您应该使用
数据类型:“text”
,然后将文本转换为XML(阅读更多信息)

要在Chrome中读取本地文件,必须使用其他参数重新启动Chrome:

chrome.exe --allow-file-access-from-files

(请确保在启动Chrome.exe之前关闭了chorme的所有其他实例)。

这是本地文件的问题。。。您应该尝试将它们上载到web服务器上,然后从那里检查这是本地文件的问题。。。您应该尝试将它们上传到web服务器上,然后从那里进行检查

我向您保证,就在五小时前,我在办公室使用了带有Chrome的$.ajax,但没有出现这样的问题。我也想象他们在这里使用它,所以我在这里没有问题。我在Chrome的jQueryUI上没有问题。我想这是你的代码。你有Windows设备还是iOs设备?我向你保证,我五个小时前在办公室使用Chrome时使用了$.ajax,没有这样的问题。我也想象他们在这里使用它,所以我在这里没有问题。我在Chrome的jQueryUI上没有问题。我想这是你的代码。你有Windows设备还是iOs设备?不,他不是这么做的。xml变量是xml代码,将其传递到jQuery会导致jQuery对其进行解析。虽然我经常犯漏掉散列的错误,但这是一个很好的建议。不,他不是这么做的。xml变量是xml代码,将其传递到jQuery会导致jQuery对其进行解析。虽然我经常犯漏掉散列的错误,但这是一个很好的建议。你有没有理由认为javascript在本地和远程服务器上的行为会有所不同?你有没有理由认为javascript在本地和远程服务器上的行为会有所不同?