问题标签 [xdomainrequest]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 等待两个异步请求
我无法在 PHP 中发送两个请求并等待两个答案。这是我的代码:
正如预期的那样,json1
and在被调用json2
时仍然是空getHtmlResults
的。我可以通过调用 in the 和我的 final 函数来同步xdr2.send()
执行xdr.onload
此操作,xdr2.onload
但我想异步执行此操作以获得更好的响应时间。
谢谢 !
(欢迎对代码进行任何其他评论我对 php 很陌生 :))
编辑 :
所以我尝试使用 Ajax,它似乎工作:)
angularjs - Internet Explorer <= 9 中的 AngularJS $http.post 错误
我有以下代码,在每个现代浏览器中都可以正常工作,但在 Internet Explorer 9 及更低版本中失败。
credentials
是一个看起来像这样的对象:
问题是 POST 从未真正发生过,而是直接跳转到return err;
,甚至没有设置错误。它说Impossible d'effectuer l'opération à cause de l'erreur suivante c00c023e.
。关键是c00c023e,这应该是一个编码问题,但我不明白这将如何完全阻止调用的发生。
“修复”是使用$http.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
允许 IE POST 的方法,但我的后端需要 JSON,所以这无济于事。
我正在使用 AngularJS 1.2.22。
有任何想法吗?
requirejs - 对 Handlebars 资源的 Require.js 请求在 IE9 中随机中止
我们正在开发一个使用 Require.js 和 Handlebars 的 Web 应用程序,它可以在除(当然)IE9 之外的所有浏览器中正常工作。在 IE9 中,Handlebars Require.js 模块 ( hbs.js
) 发出的加载 Handlebars 资源的请求是随机中止的 - 有时,它们成功,而当它们失败时,没有明确的模式来说明哪些请求失败(除了事实只有 Handlebars 请求失败;所有对 JavaScript 资源的请求都成功)。在“网络”窗格中,请求列为(Aborted)
,发起者为(Pending...)
,没有更多信息。
这可能不是配置错误,因为它适用于其他任何地方,而是框架的浏览器兼容性问题,所以我省略了配置。有谁知道发生了什么?
(注意:经过几个小时的挖掘,我已经找到了解决方案,并将自己发布以供可能遇到相同问题的其他人使用。解决方案已在此处和此处描述;但是,找到这些答案需要您有已经发现这XDomainRequest
可能是问题所在,这需要深入研究框架代码。)
javascript - IE 中的 XDomainRequest - 仅在第一次调用时“新鲜”数据
我正在使用 JSON 请求来检索我正在开发的网页中的一些流计量信息。为了兼容 IE,我使用的是 XDomainRequest。XDR 在第一次加载页面期间成功检索数据,但后续调用(加载后在页面上使用 windows.setInterval)不返回更新信息。清除浏览器缓存也无济于事。页面加载新数据的唯一方法是实际重新启动 IE 并加载页面。我错过了什么??
这是我的 XDR 代码:
谢谢!史蒂夫
javascript - 在 HTA 应用程序中使用 XDomainRequest 对象
我有一个 HTA 应用程序,它通过 ajax 调用获取一些数据。我为此使用了 XMLHttpRequest。这种方法给了我想要的结果,但是在发送请求之前它会弹出一个弹出窗口,如此处所示。
因此,正如上一个链接中所建议的那样,我尝试使用XDomainRequest Object。但这在 xhr.open() 方法调用上给了我错误;因为我认为 HTA 应用程序的协议是文件:;而 XDomainRequest 仅支持 ttp: 和 https: 协议。
是否有任何解决方法可以让我使用跨域调用获取数据而无需在 IE 8 上暗示用户。
谢谢。
ajax - XDomainRequest onLoad 在 IE8 中未正确触发
我正在向 google geocode api 发出请求,以获取给定邮政编码的纬度和经度。这在所有浏览器栏 IE8 中都可以正常工作(震惊!)。
为了解决这个问题,我为 IE 实现了 XDomainRequest。
这就是我所说的
我还在继续之前检查错误
现在我说它不起作用,那是一个谎言,它确实起作用了它只是不能立即起作用,所以当它不应该发生时,错误就会被触发。
我已经尝试在 IE8 中进行调试,这似乎就是这样做的
- 从表单元素获取邮政编码
- 使用邮政编码跳转到功能
- 创建新的 XDomainRequest
- 跳过 xdr.onload
- 创建新的 XDomainRequest
- 跳出条件下到 isPostcodeValid 并返回错误
现在请求确实有效,我已经对其进行了测试,问题是它不能立即工作,因此会跳入错误。
任何人都知道为什么它会跳过负载而不是进入负载?
谢谢!
javascript - 接收 base64 图像时的 XDomainRequest 性能问题
我有两个应用程序。其中之一是基于 HTML 的 Web 应用程序,它在 IE9 模式下工作,并通过 XDomainRequest 以 base64 字符串格式接收扫描文档的图像。
另一个应用程序是用 C# 编写的 Windows 服务。它通过 HttpListener 监听端口上的请求。然后它扫描文档并通过 HttpListenerResponse 发送扫描的图像。
扫描的图像将由客户端的 Web 应用程序处理,然后将它们上传到服务器。所以我必须在 javascript 中完成所有工作。没有服务器端解决方案(目前)。
如果我只收到一张图片,这不是什么大问题。但是如果发件人发送多张图片,base64 字符串会变得太大,需要太多时间。
我使用下面的代码将图像转换为 base64 字符串:
下面的代码用于接收图像:
据我所知,XDomainRequest 只接收字符串响应。
那么,我能做些什么来克服这个性能问题呢?
javascript - 使用 XMLHttpRequest 的 X 域发布
我有以下代码块:
所以,除了xhr.onreadystatechange
- 我从来没有得到console.log(4)
- 我在 PHP 和 htaccess 中启用Access-Control-Allow-Origin
以及尝试名副其实的过多的 Javascript post 函数之外,一切都会触发。
问题是,作为一项要求,我需要将数据从不支持服务器端语言的服务器上的表单发布到另一个域以处理数据。
有任何想法吗?它快把我逼疯了!
编辑:我也试过了$.ajax
现在我也尝试在 httpd.conf 中启用它:https ://serverfault.com/a/378776/36601
javascript - 使用 IE 的 XDomainRequest open("get",url) 拒绝访问
IE 突然开始用 XDomainRequest 抛出这个“访问被拒绝”错误,我不知道到底发生了什么。这是我所拥有的:
}
错误与 xdr.open("get",url) 一起出现,奇怪的是这段代码运行良好,并且在我搜索的任何地方都使用了这个解决方案。
ajax - 不可知的方案/协议 ajax 调用
我想做一个适应当前方案(http/https
)的ajax调用。对于这种情况,什么是真正有效的方法(toxhr
和xdr
)?
或者
或者..还有什么?
注意:Making a protocol agnostic jquery ajax call的问题没有提到这两种情况XMLHttpRequest
,XDomainRequest
也没有提供经过验证的解决方案。