1. ホーム
  2. jquery

[解決済み] HTTPヘッダーフィールドをカスタマイズしたJSONポスト

2022-03-07 13:08:03

質問

私は、最終的にAPIコールの一部となるいくつかのコードを継承しています。既存のコードに基づくと、呼び出しはaccess_tokenを持つJSONコードを取得するためのポストである。これは通常、単純であり、そこにある他のすべてのAPIのようですが、このコードは、クライアントシークレットのためにカスタマイズされたhttpheaderフィールドがあることを必要とします。

Objective CではURLRequestなどで実現できていたのですが、Webコンポーネントの呼び出しを作成することになり、道が閉ざされました。

私はごく普通のjqueryポストを使っています。

        $.post('https://url.com', 
        {access_token:'XXXXXXXXXXXXXXXXXXX',
         function(data){
           console.info(data);
         }, 'json');

ヘッダーにHTTP-EQUIVを含む。しかし、postはデータを取得せず、サーバー自体も何らかの呼び出しが行われたことを認識しません(不完全なものであっても)。

このコードを破棄してやり直さなければならないかもしれませんが、どなたかこの問題に遭遇したことがある方がいらっしゃいましたら、何かヒントを与えてください。

解決方法は?

投稿された内容は構文エラーですが、HTTPヘッダを $.post() .

jQuery のバージョン >= 1.5 を使用している場合は、次のように切り替えます。 $.ajax() を渡すと headers ( ドキュメント ) オプションを使用します。(古いバージョンの jQuery を使っている場合は、この方法を beforeSend オプションを使用します)。

$.ajax({
    url: 'https://url.com',
    type: 'post',
    data: {
        access_token: 'XXXXXXXXXXXXXXXXXXX'
    },
    headers: {
        Header_Name_One: 'Header Value One',   //If your header name has spaces or any other char not appropriate
        "Header Name Two": 'Header Value Two'  //for object property name, use quoted notation shown in second
    },
    dataType: 'json',
    success: function (data) {
        console.info(data);
    }
});