2016-04-15 16 views
0

私はBing Search APIからjsonデータを取得しようとしています。jsonpを取得中に認証ヘッダーエラーが発生しました

Uncaught SyntaxError: Unexpected identifier 

ライン

headers:{'Authorization':'Basic ' + azureKey  } 

Iのため:私が行っている何

が、これは

<!DOCTYPE html> 
<html> 
<body> 
<p id="demo"></p> 
<script language="JavaScript" type="text/javascript" src="jquery-1.12.3.js"></script> 
<script> 
$(document).ready(function() { 

var appId = ':mykey'; 


function getNews() { 

//console.log("DF"); 
var azureKey = btoa(appId); 
var myUrl = 'https://api.datamarket.azure.com/Bing/Search/v1/News?Query=%27britain%27&$format=json'; 

$.ajax({ 
    method: 'post', 
    url: myUrl, 
    dataType:"jsonp" 

    //Set headers to authorize search with Bing 
    headers:{'Authorization':'Basic ' + azureKey  } 
    } 
    success: function(data) { 

    console.log("DF"); 
    //console.log(data); 
    var json = data.d.results[1].Url;  
    document.getElementById("demo").innerHTML = json; 
    }, 
    error: function(jqXHR, error, textStatus) { console.error(jqXHR, error, textStatus); } 

}); 
}; 

getNews(); 

}); 
</script> 
</body> 
</html> 

私はこれを実行しようと、次のエラーがコンソールに来ています次の疑問を持っている:

  1. jsonpのことは正しいのですか?

言語= "JavaScriptの" タイプ= "テキスト/ javascriptの" SRC = "jqueryの-1.12.3.js">とメインスクリプト:私は2つのスクリプトを含めて正しいかどうかだ

  • もちろん、なぜエラーですか。

  • 答えて

    0

    構文エラーが不足しているコンマ

    dataType:"jsonp", 
    //   ^
    

    あるヘッダが別の構文エラーになりますこれは、オブジェクトの後にまたコンマにそれを変更、余分な}を持っています。

    headers:{'Authorization':'Basic ' + azureKey  } 
        , 
    //^comma not a } 
    

    あなたはそれができない、JSONPでauthorizationヘッダを使用することはできません。サービスがCORSをサポートしている場合は、dataTypeをjsonに設定して通常のXHRを使用できます。

    関連する問題