0 0

Jquery是之$.ajax否支持XMLHttpRequest Level 2(HTML5)方式的跨域访问?3

前提是:不使用"jsonp"注入,服务器返回XML。

 

在FF4、CHROME12等对HTML5支持较好的新浏览器下,Jquery 1.5+环境下,

$.ajax等是否能直接支持XMLhttpRequest level2 ?

 

服务器端为:Rails 3.07 + Nginx。

 

FF4返回经典的:

[Exception... "Access to restricted URI denied" code: "1012" nsresult: "0x805303f4 (NS_ERROR_DOM_BAD_URI)" location: "http://192.168.1.108:3000/javascripts/jquery-1.6.2.js?1309919318 Line: 7869"]

 

没有查到具体的资料。


问题补充:查了一下,服务器环境为:Rails 3.07 + Phusion Passenger Standalone / Nginx. <br /> <br />那个chrome浏览器调试环境来看,AJAX调用被发出了,有Request,但是,没有response。 <br /> <br />怀疑是 Passenger 没有设置 Access-Control-Allow-Origin 响应 报头。 <br /> <br />仍未解决。

问题补充:帖2篇相关文章: <br /> <br /> <br /><a href="http://www.oriontransfer.co.nz/blog/2011-05/cross-domain-ajax/index" target="_blank">http://www.oriontransfer.co.nz/blog/2011-05/cross-domain-ajax/index</a> <br /> <br /><a href="http://enable-cors.org/" target="_blank">http://enable-cors.org/</a> <br /> <br /><a href="https://gist.github.com/1064640" target="_blank">https://gist.github.com/1064640</a>

问题补充:1、response.headers上加的,最后render的,程序本来是这样的,类似这样: <br /><pre name="code" class="java">
response.headers['Content-Type'] = 'application/xml'
response.headers['Etag'] = latest_msg_id.to_s
-----把Access-Control-Allow-Origin加在这里————
renderml =&gt; @message
</pre> <br />但是不管用。 <br /> <br /> <br />2、跨域之后,看Chrome的调试信息,AJAX调用应该已经发生,只是没有回应,(这个地方也不是很确定,从FF的信息来看,或许是没有执行$.AJAX)。就怀疑是不是PASSENGER的问题,是不是报头要在passenger这里弄。 <br /> <br />小弟学艺不精。或许还就是纯的JAVASCRIPT的问题,压根jquery就没执行。
2011年7月06日 11:10

3个答案 按时间排序 按投票排序

0 0

用fidder2或者wireshark看看到底response加了header没有吧

firebug或者web inspecter可能不准吧

2011年7月07日 12:57
0 0

你怎么加的header呢

render加的还是response.headers

2011年7月07日 00:59
0 0

看了jquery没有用到XDomainRequest,IE应该不行,其他的浏览器应该不用客户端特别做什么吧

2011年7月06日 13:56

相关推荐

    Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结

    $.get(),$.post(),$.ajax(),$.getJSON() 一,$.get(url,[data],[callback]) 说明:url为请求地址,data为请求数据的列表,callback为请求成功后的回调函数,该函数接受两个参数,第一个为服务器返回的数据,第二个...

    jQuery.ajax()

    $.ajax() 返回其创建的 XMLHttpRequest 对象。大多数情况下你无需直接操作该函数,除非你需要操作不常用的选项,以获得更多的灵活性。 最简单的情况下,$.ajax()可以不带任何参数直接使用。 注意,所有的选项都可以...

    Jquery中$.post和$.ajax的用法小结

    Jquery的$.ajax的用法: jQuery.ajax( options ) : 通过 HTTP 请求加载远程数据,这个是jQuery 的底层 AJAX 实现。简单易用的高层实现见 $.get, $.post 等。 $.ajax() 返回其创建的 XMLHttpRequest 对象。大多数情况...

    jQuery 利用$.ajax 时获取原生XMLHttpRequest 对象的方法

    主要介绍了jQuery 利用$.ajax 时获取原生XMLHttpRequest 对象的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下

    AJAX(XMLHttpRequest)进行跨域请求方法详解

    AJAX(XMLHttpRequest)进行跨域请求方法详解

    Jquery在IE7下无法使用 $.ajax解决方法

    今天在做系统测试的时候,原本用Jquery写了一个动态加载的树形菜单,发现在IE7下无法加载数据,(采用的是jquery1.3.2版本的$.ajax方法),上网查询到原来是IE7的执行ajax是用XMLHTTPRequest来声明的,经过对比果然...

    利用jquery Ajax验证重复

    $.ajax() 返回其创建的 XMLHttpRequest 对象。大多数情况下你无需直接操作该对象,但特殊情况下可用于手动终止请求。 $.ajax() 只有一个参数:参数 key/value 对象,包含各配置及回调函数信息。详细参数选项见下。 ...

    锋利的jquery——1

    第4篇介绍了jQuery中的$.ajax()方法. 第5篇介绍了jQuery加载并解析xml. 第6篇是第七章的插件的API 第7篇是jQuery API速查表. 本书循序渐进的对jQuery的各种方法和使用进行介绍,读者可以系统的掌握jQuery关于DOM...

    jQuery-3.4.1min.js

    jQuery3.4.1压缩版下载,更小的体积! 官方渠道:https://code.jquery.com/jquery-3.4.1.min.js

    jquery电子文档chm

    $.ajax() returns the XMLHttpRequest that it creates. In most cases you won't need that object to manipulate directly, but it is available if you need to abort the request manually. Note: If you ...

    jquery中ajax处理跨域的三大方式

    HTML5中提供的XMLHTTPREQUEST Level2(及XHR2)已经实现了跨域访问。但ie10以下不支持 只需要在服务端填上响应头: header("Access-Control-Allow-Origin:*"); /*星号表示所有的域都可以接受,*/ header("Access...

    js与jQuery终止正在发送的ajax请求的方法

    本文实例讲述了js与jQuery终止正在发送的ajax请求的方法。分享给大家供大家参考,具体如下: 核心:调用XMLHttpRequest对象上的abort方法 ...($.post、$.ajax、$.getJSON、$.getScript也同样) 2. XMLHttpRequest

    ajax通过jquery传递的原理

    * jquery底层ajax实现!简单易用的高层实现$.get,$.post等!$.ajax()返回其创建的XMLHttpRequest对象!大多数情况下你无需直接操作函数!除非你需要操作不常用的选项,以获得更多的灵活性!

    锋利的jQuery书中源代码

    找了很久终于搞到了锋利的jQuery书中源代码,真不错,希望与各位分享:-) ...第4篇介绍了jQuery中的$.ajax()方法. 第5篇介绍了jQuery加载并解析xml. 第6篇是第七章的插件的API 第7篇是jQuery API速查表.

    《锋利的jQuery.pdf及源码.zip

    第1篇介绍了jQuery中的$(document).ready()方法. 第2篇介绍了前端开发调试工具---...第4篇介绍了jQuery中的$.ajax()方法. 第5篇介绍了jQuery加载并解析xml. 第6篇是第七章的插件的API 第7篇是jQuery API速查表.

    锋利的jQuery(第2版).单东林、张晓菲、魏然(带详细书签)

    jQuery中的$.ajax方法 《锋利的jQuery(第2版)》循序渐进地对jQuery的各种函数和方法调用进行了介绍,读者可以系统地掌握jQuery的选择器、DOM操作、事件和动画、AJAX应用、插件、jQuery Mobile、jQuery各个版本变化...

    基于jQuery实现Ajax验证用户名是否存在实例

    $.ajax() 返回其创建的 XMLHttpRequest 对象。大多数情况下你无需直接操作该对象,但特殊情况下可用于手动终止请求。 $.ajax() 只有一个参数:参数 key/value 对象,包含各配置及回调函数信息。详细参数选项见下。 ...

    jQuery结合ajax实现动态加载文本内容

    $.ajax() 返回其创建的 XMLHttpRequest 对象。大多数情况下你无需直接操作该函数,除非你需要操作不常用的选项,以获得更多的灵活性。 最简单的情况下,$.ajax() 可以不带任何参数直接使用。 通过 AJAX 加载一段...

    jQuery 1.6 API 中文版

    如果你明确地传递了一个content-type给 $.ajax() 那么他必定会发送给服务器(即使没有数据要发送)。数据将总是使用UTF-8字符集传递给服务器;你必须译码这适当的在服务器端。 contextObject 这个对象用于设置...

Global site tag (gtag.js) - Google Analytics