2016-07-28 11 views
3

私は、プラットフォーム制限のために、TextRazorというAPIからjqueryのAJAXにカールコードを変換しようとしています。私はコミュニティが同様の質問から多くの解決策を試しましたが、(警告ダイアログを通じて)データを戻すことができないようです。それはAPIを呼び出すドキュメントから を重要ている場合は、次のようになります。

curl -X POST \ 
-H "x-textrazor-key: YOUR_API_KEY" \ 
-d "extractors=entities,entailments" \ 
-d "text=Spain's stricken Bankia expects to sell off..." \ 
https://api.textrazor.com/ 

私の現在のAJAXコードは次のようになります。ここ

$.ajax({ 
url: "https://api.textrazor.com/", 
type: "POST", 
dataType: 'json', 
data: { 
    x-textrazor-key: "YOUR_API_KEY", 
    extractors: "entities,entailments", 
    text:"Spain's stricken Bankia expects to sell..." 
}, 
success:function(data) { 
    alert(JSON.stringify(data)); 
},error: function(xhr) { 
    alert("<some error>"); 
    console.error(xhr.responseText); 
}}); 

が、それは場合に役立ちますjsfiddleするためのリンクです: jsfiddle.net

ご協力いただきありがとうございます!

+0

CORSの問題? –

答えて

0

これは私の近くにありますが、POST本体にヘッダーを挿入します。私は以下のようにすべきだと思う。 (これでダッシュがそうでなければ引き算として解釈されるので、「-textrazorキーX」あなたも引用符で囲む必要があることに注意してください。)

$.ajax({ 
    url: "https://api.textrazor.com/", 
    type: "POST", 
    dataType: 'json', 
    headers: { 
     'x-textrazor-key': "YOUR_API_KEY" 
    }, 
    data: { 
     extractors: "entities,entailments", 
     text: "Spain's stricken Bankia expects to sell..." 
    }, 
    success: function (data) { 
     alert(JSON.stringify(data)); 
    }, 
    error: function (xhr) { 
     alert("<some error>"); 
     console.error(xhr.responseText); 
    } 
}); 

は、当然のことながら、ここで他の問題がある可能性があります。 (たとえば、APIが原点を越えた​​リクエストをサポートしていない可能性があります)実際に何が起きているかを確認するには、ブラウザのデベロッパーツールの[ネットワーク]タブを確認します。

0

私はあなたが合格しなければならないと思う「X-textrazorキー:YOUR_API_KEY」追加のヘッダーとして

$.ajax({ 
url: "https://api.textrazor.com/", 
type: "POST", 
dataType: 'json', 
beforeSend: function(xhr){xhr.setRequestHeader('x-textrazor-key', 'YOUR_API_KEY');}, 
data: { 
    extractors: "entities,entailments", 
    text:"Spain's stricken Bankia expects to sell..." 
}, 
success:function(data) { 
    alert(JSON.stringify(data)); 
},error: function(xhr) { 
    alert("<some error>"); 
    console.error(xhr.responseText); 
}}); 
0
data: { 
    x-textrazor-key: "YOUR_API_KEY", 

データを:jQueryのブラケットを使用すると、POST、しばらくとしてそのデータを送信することを意味ヘッダーとしてAPIキーを送信する必要があります。

があなたのコードにこのフィールドを追加します(URLの後かそこら):未

headers: {"x-textrazor-key": "YOUR_API_KEY"}