によって行うことができクロスドメインの要求をJavascriptの設定のカスタムヘッダ?

StackOverflow https://stackoverflow.com/questions/3073336

質問

て応募することはできませんのカスタムヘッダJSONP話, どのようにしてクロスドメインの要望に応カスタムヘッダのjQueryを使う?

私は基本的にアクセスしようとしているgoogleドキュメントとjQueryや合格する必要があり認証トークン:

var token = "my-auth-token";
$.ajax({
  url: "http://docs.google.com/feeds/documents/private/full?max-results=1&alt=json",
  dataType: 'json',
  beforeSend: function(xhr) {
    xhr.setRequestHeader("Authorization", "GoogleLogin auth=" + token);
  },
  success: function(data, textStatus, XMLHttpRequest) {
  },
  error: function(XMLHttpRequest, textStatus, errorThrown) {
  }
});

注意:これらは 完全に バイパスのアプリケーション層.中でrubyの使用に接続するGoogleのデータをAPIがかなり多くの資源フィードの構文解析時にサーバ側です。

役に立ちましたか?

解決

利用できるGoogleのJavaScriptライブラリへのクエリーのドキュメントAPIに含まれています。がなくヘルパーのためのDocs具体的には、今でも現役で使うことができほとんどのApiを含むDocsに入ります。この ブログ によるGoogleの社員として働きます。

場合に無限ループの権限をこちらをご覧ください 関連する質問 からGoogleます。基本的に、クッキーになっ設定速度で、そのJavaScriptライブラリとチェックできるようにするためのlibsoupおよんでリダイレクト、OAuth認証ページです。解決策は、いずれかの追加の小さな遅れ以前のチェックが行われ、またはログインボタンを始め、認証の代わりに、そのページです。

いものを追加する必要があるは、イメージをページに存在する同一ます。できる隠れたCSSと、DOM.

使用例の上記のブログで取得私の書類リストでは、JavaScriptます。この初期化関数を使ってく無限の承認のループ:

function initialize() {
    var scope = 'http://docs.google.com/feeds/';

    if (google.accounts.user.checkLogin(scope)) {
        var service = new google.gdata.client.GoogleService('writely', 'DocList-App-v1.0');   
        service.getFeed(scope + 'documents/private/full/', handleFeed, handleError);  
    } else {
        var loginButton = $("<button>Click here to login</button>");
        loginButton.click(function() {
            var token = google.accounts.user.login(scope); // can ignore returned token  
        });
        $("body").append(loginButton);
    }
};  
​

他のヒント

プロキシのために再生されるサーバー側にコードを書くことを検討し、jQueryにそれを呼び出すようにします。

  • PHPを使用している場合は、使用してください curl.
  • Javaを使用している場合は、使用してください URLConnection またはより便利なほど apache httpclient.
  • C#/。ネットを使用している場合は、使用してください WebClient.
  • Rubyを使用している場合は、使用してください Net::HTTP.

外部ドメインが適切なものを送信して許可する限り、 Access-Control-Allow-Origin ヘッダ。次に、を使用します XMLHttpRequest 標準のクロスドメインXHR APIをサポートするブラウザのAPIおよび XDomainRequest IEで。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top