5

クライアントから直接 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, status, headers, 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) {

              }
          });
4

1 に答える 1

0

You need to go into Remote Settings within SalesForce then CORS and whitelist the domain name...

I had the same issue and it seemed to have resolved the issue.

See if this helps here

于 2015-11-30T02:16:27.453 に答える