2013-03-01 69 views
0

我想运行下面给出code.It正常工作在IE浏览器但在其他浏览器它不工作。文件阅读ajax调用浏览器兼容性

<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.6.4 /jquery.min.js'></script> 

<script type="text/javascript"> 
$(document).ready(function(){ 
$("#button1").click(function(){ 

    alert("1");  
     $.ajax({url:"file://///30.170.12.75/Shared/a.html" 
     ,success:function(result) {$("#div1").html(result);} 
     ,error: function(result) {alert("2");} 
     }); 
    }); 
}); 
<script> 

据我所知jQuery的API提供给我们的浏览器兼容性也,但它是不工作的任何其他浏览器。

请让我知道原因,以便将来我会照顾他们。

+0

您是否收到警报(“2”)?如果是这样,你可以通过该结果来提醒并告诉我们什么错误? – 2013-03-01 12:41:50

+0

@Moniecorleone我得到对象时,我把结果放在警报,而不是2. – 2013-03-01 13:06:25

+0

@Boaz感谢您的回复ajax调用不工作。它始终显示其他borwsers警报(“2”)。 – 2013-03-01 13:07:27

回答

2

您正在使用file://协议,如果源文档不是file://协议的服务器,大多数浏览器都不允许访问此协议。

对于ajax请求,如果目标协议是file://协议,大多数浏览器将阻止请求。然而,IE似乎并没有像这样的行为,仍然允许请求完成。

如果您使用的是Chrome,则可以通过以--allow-file-access-from-files标志启动Chrome来更改此设置。

(难道真的是file://,而不是http://或其他东西?)错误

+0

我直接访问这个“ file://///30.170.12.75/Shared/a.html“FF和chrome中的url正常工作。 – 2013-03-01 13:08:45

+2

直接访问URL不会调用基于JavaScript的URL访问强制执行的安全限制。即使使用'file:'提供源文档,大多数浏览器也不允许访问不同的文件。使用HTTP。 – Quentin 2013-03-01 13:30:56

+0

@Quentin但为什么它在IE中正常工作。 – 2013-03-04 09:22:28