2017-01-29 11 views
0

私はここに私のキーワードに基づいて、メイシーの製品情報を取得するためにURLを形成しようとする初心者プログラマ午前:http://developer.macys.com/docs/read/catalog_and_store_services/catalog/search#requesturl
彼らは、HTTPヘッダにある2その3つの必須パラメータ、Acceptx-macys-webservice-client-idを持っていますもう1つは検索パラメータsearchphraseにあります。 enter image description here 文書によると、私は、製品情報を取得するために、jQueryの機能を形成している:メイシー製品のAPIのjQuery

function ajaxsearch(){ 
    var terms = "reddress"; 
    var macyurl = "https://api.macys.com/v4/catalog/search?searchphrase="+ terms; 
    alert(macyurl); 
    var apikey = "6zjre5gv8822t323e6wxj85a"; 
    $.ajax({ 
     url: macyurl, 
     headers:{ 
     Accept: application/json, 
     x-macys-webservice-client-id: apikey 
     } 
     success: function(data){ 
     alert("successful call!") 

     } 

    }); 

} 

質問:私の関数の構文が正しいですか?私はコンソールでこれをチェックしており、ヘッダーの1つで問題が発生している、x-macys-webservice-client-idです。これは私のケースでHTTPヘッダーパラメーターを設定する正しい方法ですか?

答えて

1

オブジェクトのキーは、変数の命名規則と同じ規則に従う必要があります。

headers:{ 
    Accept: "application/json", // you can quote the key here too, but the value has to be quoted. 
    "x-macys-webservice-client-id": apikey // the key must be quoted since - aren't allowed in key names. if apikey is not a variable, then it should be quoted too. 
}, // Plus, you forgot to put a comma here to separate the entries 

は注意:あなたはkeysvaluesはここで何を意味するかわからない場合は、私が話しているものです:用

{ 
    key: value, 
    anotherKey: anotherValue, 
    // ... 
} 
+0

おかげいない場合、彼らは次のように引用符で囲む必要がありますあなたの返信!あなたが私の構文エラーを解決するのを手伝ってくれたので、これを答えとしてマークします。 macyはPHPからのcURLを必要とするため、依然として要求はまだ機能しませんでした。 –

+1

@ Detectivemerry私はMacyについて知らない。しかし、 'headers'オブジェクトに関するエラーを解決しました。 –

+1

@Detectivemerry私はちょうどあなたのコードを試してみました、そして、それは私のlocalhost上でそれを実行しているので、それはCORS(クロスオリジンressource共有)のエラーです(場合によっては)コンソールに表示されます。エラーが同じ場合は、その情報(CORS)を使用して解決する方法を見てください。 [this](http://stackoverflow.com/questions/5750696/how-to-get-a-cross-origin-resource-sharing-cors-post-request-working)が役立つかどうかを確認してください。 –