首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CORS-对Dell Boomi Rest服务的跨域Jquery Ajax调用

CORS-对Dell Boomi Rest服务的跨域Jquery Ajax调用
EN

Stack Overflow用户
提问于 2015-12-08 12:10:32
回答 1查看 951关注 0票数 0

我在通过jquery代码连接到Boomi中的时遇到了困难。它基本上是从javascript到webservice的跨域请求。下面是我的jquery代码。

代码语言:javascript
复制
<script type="text/javascript">
        function LoadSurvey() {
            makeCorsRequest();
        }
        function makeCorsRequest() {
            jQuery.support.cors = true;
            var URL = 'https://boomi-example.com/ws/rest/Candidate/1';
            $.ajax({
                //beforeSend: function (xhr) {
                //    xhr.setRequestHeader("Authorization", "Basic ZXJuc3R5b3VuZy1NRE5IWEouR1QwS1IwOjAyZGQ1NmNmLTQ0ZDEtNDBlNC05YmNjLTg2M2ViNGUyMzA4NA==");
                //},
                type: "GET",
                //jsonpCallback: 'JSON_CALLBACK',
                //jsonp: false,
                url: URL,
                //dataType: 'jsonp',
                username: '****,
                password: '****',
                //crossDomain: true,
                //xhrFields: {
                //    withCredentials: true
                //},
                headers: {
                    'Authorization': 'Basic ZXJuc3R5b3VuZy1NRE5IWEouR1QwS1IwOjAyZGQ1NmNmLTQ0ZDEtNDBlNC05YmNjLTg2M2ViNGUyMzA4NA=='
                },
                contentType: 'application/json; charset=utf-8',
                success: function (data, textStatus, jqXHR) {
                    alert(JSON.stringify(data));
                },
                error: function (jqXHR, textStatus, errorThrown) {
                    alert(JSON.stringify(jqXHR));
                    alert(textStatus);
                    alert(errorThrown);
                },
                complete: function (jqXHR, textStatus) {
                    alert(JSON.stringify(jqXHR));
                }
            });            
        }
    </script>

我已经搜索并应用了javascript方面的所有内容。根据boomi文档,我们需要在我们已经设置的Boomi API中配置CORS头。但是,当我检查响应头时,这些标头不会返回。

下面是XMLHttpRequest无法加载的错误.对飞行前请求的响应不通过访问控制检查:请求的资源上没有“访问-控制-允许-原产地”报头。因此,“原产地”不允许访问。响应具有HTTP代码403.

基本上,我们必须从服务器端设置访问-控制-允许-原产地,这与.Net WEB很好地工作。但是对于boomi来说,它没有返回原始标头。根据Boomi文档http://help.boomi.com/atomsphere/GUID-0E38FB83-331E-45B1-8E12-0014048D6663.html,需要返回以下标头以响应CORS请求的工作。

访问-控制-允许-起源:https://example.com

访问-控制-允许-方法:获取、发布、放置、删除

访问-控制-允许-标头:X-自定义头,一些-其他标头

只有返回的响应标头低于

HTTP/1.1 403禁止内容-长度:0服务器:Jetty(6.1.26-boomi2 2) Set-Cookie: BIGipServerP_BOOMI10-STAGE.SUCCESSFACTORS.COM-9090=1863780874.33315.0000;path=/

如果Jsonp是解决方案,请告诉如何在Boomi中编写回调函数。我不能为这个需求创建任何代理服务器。

请帮忙,谢谢

EN

回答 1

Stack Overflow用户

发布于 2016-02-16 13:44:43

我今天设法让CORS和戴尔·博米一起工作。我们必须将boomi_auth=添加到url中,才能使http预飞消息正常工作。在Boomi共享服务器的日志文件中,可以将飞行前消息识别为选项。

我会在我的网站上记录这些东西,以及如何在我的网站上测试CORS,只要我完成了一切。现在,它似乎只适用于原产地*。还不能得出结论,很快就会有更多的消息。

示例URL:

auth=YW5hcGxhbkB1bml0NC1HVEZKU1ouNVNERTlSOmJiN2IxZGEzLWI4MTUtNDZjZS1hOWNlLTc1YjYzOWEwOGNhZg==

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

https://stackoverflow.com/questions/34155540

复制
相关文章

相似问题

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