Backbone.js不会仅在IE中同步

wdebmtf2  于 2022-11-10  发布在  其他
关注(0)|答案(2)|浏览(143)

有没有人见过这个?我不知道怎么扩展这个。这是唯一的症状。它不会在IE同步。

xa9qqrwz

xa9qqrwz1#

IE中的跨域请求仅通过名为XDomainRequest的IE特定对象来支持。XDomainRequest与所有其他主流浏览器中实现的XMLHTTPRequest对象相比太基本了!
我猜您正在使用jQuery来处理Ajax请求。jQuery不使用XDomainRequest在IE上进行跨域调用,所以您运气不好!
XDomainRequest只提供了XMLHTTPRequest特性的一个子集。例如,不可能通过XDomainRequest向HTTP-Get/Post请求插入任何自定义的头[通常您会使用jQuery的“onBeforeSend”回调函数来实现此目的]。
请参阅以下MSDN文档:http://msdn.microsoft.com/en-us/library/cc288060(v=vs.85).aspx
我在当前的项目中遇到了所有这些问题,最后在托管我的应用程序的Apache服务器上使用了一个代理,即mod_proxy。请查看我对这个主题的相关回答如何使用CORS和backbonejs向API发出 AJAX 请求

xytpbqjk

xytpbqjk2#

这可能有助于其他人搜索IE Backbone 网同步问题。我遇到了一个IE6-7问题,同步不起作用,因为全局JSON对象不存在。默认的 Backbone 网同步实现使用JSON.stringify来生成参数。JSON对象在IE6和7中不存在,所以您需要一个条件注解,并包括crockford的json2.js脚本,该脚本添加了window.JSON对象:
https://github.com/douglascrockford/JSON-js/blob/master/json2.js
在添加了Backbone之后,它就可以从IE6开始工作了。

相关问题