网站未发布,ajax能请求的本地资源有哪些

  网站发布,通过http协议访问时,由于浏览器安全问题

1)js不允许访问本地文件

2)ajax请求也不能访问跨域的页面。

3)firefox下端口不一致也会导致跨域

 

  解决办法就是做代理或者使用jsonp操作。参考:AJAX 跨域解决办法



  网站未发布,本地file协议测试【就是直接双击打开或者拖拽进入浏览器中】时,有以下几种情况

 



  假设目录结构如下


root
  ajax
      ajax.html        --ajax请求文件
      1.html
     files
        1.html
        folder
          1.html
  1.html


1)webkit核心的浏览器,如chrome,只能访问自己(或者可以访问其他域名的页面,此页面设置过Access-Control-Allow-Origin=*响应头允许跨域请求),无法访问其他本地资源。ajax.html可以请求ajax.html自己,不能请求同文件夹下的1.html
网站未发布,ajax能请求的本地资源有哪些

    var xhr = new XMLHttpRequest();
    xhr.open('get', 'ajax.html', false);//chrome ajax请求自己没问题
    //xhr.open('get', '1.html', false); //请求其他文件报错“Cross origin requests are only supported for HTTP. ”
    xhr.send(null)
    alert(xhr.responseText)

2)Gecko核心浏览器,如firefox,可以访问ajax文件夹下的所有文件和子文件,但是不能访问上一级目录的文件,报“Access to restricted URI denied”错误

网站未发布,ajax能请求的本地资源有哪些

    var xhr = new XMLHttpRequest();
    //xhr.open('get', '1.html', false); //没问题
    //xhr.open('get', 'files/1.html', false); //没问题
    //xhr.open('get', 'files/folder/1.html', false); //没问题
    xhr.open('get', '../1.html', false); //请求上级目录文件会出错,报“Access to restricted URI denied”错误
    xhr.send(null)
    alert(xhr.responseText)


3)trident核心的浏览器,如IE,TT之类的,使用XMLHttpRequest【IE7+支持XMLHttpRequest】创建的ajax对象无法请求本地资源所有资源,连请求自身也会报错,会出现拒绝访问错误

网站未发布,ajax能请求的本地资源有哪些

    var xhr = new XMLHttpRequest();
    xhr.open('get', 'ajax.html', false);
    xhr.send(null)
    alert(xhr.responseText)

  使用acx创建的ajax对象则没有任何限制,哪怕是访问其他盘的文件或者其他站点的内容。


    var xhr = new ActiveXObject("microsoft.xmlhttp");
    //xhr.open('get', '1.html', false); //没问题
    //xhr.open('get', 'files/1.html', false); //没问题
    //xhr.open('get', 'files/folder/1.html', false); //没问题
    //xhr.open('get', '../1.html', false); //访问上级目录也没问题
    //xhr.open('get', 'c:\\InstallPackage.log', false); //直接指定物理路径访问其他盘的文件也没问题    
    xhr.open('get', 'http://www.xxxx.com/json.asp', false); //访问其他站点的内容
    xhr.send(null);
    alert(xhr.responseText)

 

加支付宝好友偷能量挖...


原创文章,转载请注明出处:网站未发布,ajax能请求的本地资源有哪些

评论(0)Web开发网
阅读(521)喜欢(1)JavaScript/Ajax开发技巧