加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

AngularJS中跨域REST调用的正确架构模式是什么?

发布时间:2020-12-17 18:03:21 所属栏目:安全 来源:网络整理
导读:我创建了一个直接从客户端访问Salesforce REST API的AngularJS服务.但是,由于相同的原产地限制,我无法使其正常工作.即使访问非经过身份验证的REST服务并尝试$http,$http.json和Ajax.我也尝试了很多Json,Jsonp等的组合. 鉴于我有这么多问题,我认为我的一般方
我创建了一个直接从客户端访问Salesforce REST API的AngularJS服务.但是,由于相同的原产地限制,我无法使其正常工作.即使访问非经过身份验证的REST服务并尝试$http,$http.json和Ajax.我也尝试了很多Json,Jsonp等的组合.

鉴于我有这么多问题,我认为我的一般方法是不正确的.也许我需要为此设置代理服务器?我的后端是Firebase,所以我目前没有自己的服务器.

我不相信Salesforce API支持COR,我无法改变它.

这是我尝试使用$http和Ajax的一个例子.

return $http.jsonp('https://na1.salesforce.com/services/data/',{
headers: {
    'Content-type': 'application/json','Accept': 'application/json'
}}). 
                success(function (data,status,headers,config) {

                    callback(data);
                    console.debug(data.json);
                }).
                error(function (data,config) {
                    console.debug("getVersions: failed to retrieve data: "+eval(data));
                });


$.ajax({
              url: 'https://na15.salesforce.com/services/data',type: "GET",dataType: "jsonp",beforeSend: function(xhrObj){
                                  xhrObj.setRequestHeader("Content-Type","application/json");
                                  xhrObj.setRequestHeader("Accept","application/json");
                                  xhrObj.setRequestHeader("X-Requested-With","XMLHttpRequest");
                              },success: function (data) {
                  console.debug(data);
                  callback(data);
              },error: function(data) {

              }
          });

解决方法

你需要进入SalesForce内的远程设置,然后进入CORS并将域名列入白名单……

我有同样的问题,似乎已经解决了这个问题.

看看这有助于here

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读