首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Ext.Ajax.request调用需要WS可靠消息传递的跨域web服务

使用Ext.Ajax.request调用需要WS可靠消息传递的跨域web服务
EN

Stack Overflow用户
提问于 2015-04-03 06:24:46
回答 1查看 566关注 0票数 0
代码语言:javascript
复制
var postXml = "" +

    "<aaa:getSomething>" +
        "<param1>" + obj.param1 + "</param1>" +
        "<param2>" + obj.param2 + "</param2>" +
    "</aaa:getSomething>";

    var data = this.createEnvelope(postXml);
    var request = Ext.Ajax.request({
        url : this.webServiceUrl,
        method : "POST",
        callback : this.onGetSomething,
        obj : obj,
        scope : this,
        headers : {
            SOAPAction: "urn:onGetSomething"
        },
        xmlData : data
    });

我们需要将WS-ReliableMessaging添加到我们的web服务中。有没有办法修改我们的javascript客户端以连接到新的支持WS-ReliableMessaging的服务?我不是非常精通Javascript,但根据我迄今为止的研究,我怀疑唯一的方法可能是向本地服务器端代理JSP发出Ajax请求,该代理JSP从Java发出调用,是这样吗?

EN

回答 1

Stack Overflow用户

发布于 2015-04-05 05:38:27

对于跨域访问,您应该使用JSON-P,如果您在以下位置查看Ajax文档:http://docs.sencha.com/extjs/5.1/5.1.0-apidocs/#!/api/Ext.data.proxy.Ajax,限制部分显示:

"AjaxProxy不能用于从其它域检索数据。如果您的应用程序在http://domainA.com上运行,它不能从http://domainB.com加载数据,因为浏览器有一个内置的安全策略,禁止域通过AJAX相互对话。

如果您需要从另一个域读取数据,并且不能设置代理服务器(一些软件运行在您自己域的web服务器上,并且透明地将请求转发到http://domainB.com,使其看起来像实际上来自http://domainA.com),您可以使用Ext.data.proxy.JsonP和一种称为JSON-P (带填充的JSON)的技术,只要http://domainB.com上的服务器设置为支持JSON-P响应,它就可以帮助您解决问题。有关更多详细信息,请参阅JsonPProxy的简介文档。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29423497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档