如何在不使用XDomainRequest或XMLHttpRequest的情况下使用自定义标头创建跨域请求?

Jan*_*ard 5 javascript internet-explorer xmlhttprequest cross-domain xdomainrequest

我有一个单页面的Web应用程序www.example.com.这个Web应用程序

  • 需要针对另一个名为的服务器发出AJAX请求 api.example.com
  • 它必须设置某些标题字段,如Authorization发送请求时api.example.com
  • 它必须与最近的浏览器兼容(例如IE> = 8)

所有这些都可以通过使用Chrome(以及其他最近基于WebKit的浏览器)处理api.example.com上的CORS请求来实现XMLHttpRequest.早于版本10的IE不实现CORS XMLHttpRequest,而是为XDomainRequest跨域请求提供非标准对象.但是XDomainRequest没有实现设置HTTP头字段的方法.

所以我的问题是:如何使用自定义标头创建跨域请求而不使用XDomainRequestXMLHttpRequest?什么是最佳实践解决方法?

编辑:我可以控制所有涉及的服务器(*.example.com).

Raf*_*ski 1

恐怕没有其他方法,只能在应用程序的服务器端为此请求实现代理。一个例子

  • 这是对的。不过,您始终可以使用 iframe 和“postMessage”。 (3认同)