Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Javascript中执行跨域http请求?_Javascript_Ajax_Xmlhttprequest_Cross Domain_Sencha Touch - Fatal编程技术网

如何在Javascript中执行跨域http请求?

如何在Javascript中执行跨域http请求?,javascript,ajax,xmlhttprequest,cross-domain,sencha-touch,Javascript,Ajax,Xmlhttprequest,Cross Domain,Sencha Touch,因此,我正在开发一个Sencha(Javascript)应用程序,它需要向其他域上已经存在的REST服务发出ajaxhttp请求。我需要一个解决方案,能够从我的Sencha javascript向该服务发出POST、PUT和获取请求。我无法控制该服务,因此无法对此进行任何更改。我听说过HTML5新的postMessage()方法,但我不确定如何使用,或者我是否能够使用它来做我想做的事情。当然,我可以在开发过程中禁用浏览器安全性,但这不是一个永久的解决方案。有什么建议吗 特别是,如果有人能告诉我p

因此,我正在开发一个Sencha(Javascript)应用程序,它需要向其他域上已经存在的REST服务发出ajaxhttp请求。我需要一个解决方案,能够从我的Sencha javascript向该服务发出POST、PUT和获取请求。我无法控制该服务,因此无法对此进行任何更改。我听说过HTML5新的postMessage()方法,但我不确定如何使用,或者我是否能够使用它来做我想做的事情。当然,我可以在开发过程中禁用浏览器安全性,但这不是一个永久的解决方案。有什么建议吗


特别是,如果有人能告诉我postMessage方法的使用,我将不胜感激。

如果响应是JSON,您可以使用。如果您正在发布,请使用隐藏的Iframe。

您可以使用服务器端代理(PHP、servlet…),它将发送您的跨域请求,提取响应,然后将结果返回到客户端的javascript。

跨域请求是不可能的,特别是如果您无法更改其他服务的任何内容。当然,如果你用的是PhoneGap之类的东西,那就完全不同了;在这种情况下,你可以做任何你想做的事情。这非常简单-给出Iframe和名称,将表单的目标设置为Iframe。该URL将是其他域的POST URL。您可以将onload事件附加到iframe,该事件将告诉您文章何时完成。让iframe在测试时可见,然后在完成后将高度和宽度设置为零。