のために私は$アヤックス方法キャッチされないでSyntaxError:予期しないトークン:有効なJSON [UPDATED]
$.ajax({
type: "GET",
dataType: 'jsonp',
url: "http://nrb.org.np/exportForexJSON.php?YY=2016&MM=06",
crossDomain : true,
})
.done(function(data) {
console.log("done");
console.log(data);
})
.fail(function(xhr, textStatus, errorThrown) {
console.log(xhr);
console.log(xhr.responseText);
// alert(xhr.responseText);
// alert(textStatus);
});
URLから返されたJSONが
{
"Conversion": {
"Currency": [{
"Date": "2016-06-23",
"BaseCurrency": "INR",
"TargetCurrency": "NPR",
"BaseValue": "100",
"TargetBuy": "160.00",
"TargetSell": "160.15"
}, {
"Date": "2016-06-23",
"BaseCurrency": "USD",
"TargetCurrency": "NPR",
"BaseValue": "1",
"TargetBuy": "107.76",
"TargetSell": "108.36"
}, {
"Date": "2016-06-23",
"BaseCurrency": "BHD",
"TargetCurrency": "NPR",
"BaseValue": "1",
"TargetBuy": "285.75",
"TargetSell": "N/A"
}]
}
}
ある経てクロスドメインのJSONデータを取得しようとしています
http://jsonlint.com/を使用してJSONが有効かどうかを確認しました。 JSONはOKです。コンソールエラーが発生します。
Uncaught SyntaxError: Unexpected token :
コンソールは
私たちはPOSTを使用することができるとは思いません'jsonp'と一緒に。ちょうどGETを使用してください。 –
そのAPIをjsで使用することはできませんが、YQLを使用してJSONをJSONPに変換することができます – dandavis
@dandavis jsonpを使用しないと、クロスドメイン要求ではありません。このエラーが発生します。 要求されたリソースに 'Access-Control-Allow-Origin'ヘッダーが存在しません。したがって、 'http:// localhost'はアクセスが許可されていません。 –