現在jqueryでOSRS APIを使用しようとしています。jquery Ajax jsonp無効なjsonのトークン・エラーが無効ですが、正しく表示されます
私はこれをレールのhttpartyで使用していましたが、JavaScriptの方法でそれを実行できるかどうかを確認したいと思っていました。
しかし、私はそれが有効に表示されているにもかかわらず、応答のcontenceを解析する問題があるようです。
私のコードは、以下に見られることができます。
// jquery Stuff
$(document).ready(function() {
var url_test = "http://services.runescape.com/m=itemdb_oldschool/api/catalogue/detail.json?item=207&format=json";
$.ajax({
crossDomain: true,
dataType: "jsonp",
url: url_test ,
}).done(function (data) {
console.log(data);
alert("Load was performed.");
});
});
は、これは私がキャッチされないでSyntaxErrorのエラーをスローAPIから取得する「壊れた」responceです:予期しないトークン:
{"item":{"icon":"http://services.runescape.com/m=itemdb_oldschool/1492081307848_obj_sprite.gif?id=207","icon_large":"http://services.runescape.com/m=itemdb_oldschool/1492081307848_obj_big.gif?id=207","id":207,"type":"Default","typeIcon":"http://www.runescape.com/img/categories/Default","name":"Grimy ranarr weed","description":"It needs cleaning.","current":{"trend":"neutral","price":"7,338"},"today":{"trend":"negative","price":"- 20"},"members":"true","day30":{"trend":"positive","change":"+2.0%"},"day90":{"trend":"positive","change":"+8.0%"},"day180":{"trend":"positive","change":"+8.0%"}}}
があります私はこのデータを正しく読み込むことができます。私は、もし私が推測するところであれば、jsonpを使っているからだと思う。しかし、私はそれがCORSのエラーをスローするように、私はそれがapiの投げJSONデータ型を読み込むことができないようです。だから私はちょっと立ち往生し、これに助けてくれれば幸いです!
私はレールでそのない私のエンドポイントとhttpartyが何らかの理由で動作するように見えサーバーを所有していけないので、それを回避する方法はあります。 (フォーマットが乱れていた)が、私は文字列の操作を処理することができます。どのように私は応答を取得し、それを自動的に解析することはできません。 – Morphasis
jsonを使用している場合は、CORSエラーを返しますか?右? –
プラグイン(allow-cross-origin)を簡単に追加することも、このチュートリアルを[stackoverflow]から試すこともできます(http://stackoverflow.com/questions/5584923/a-cors-post-request-works-from-plain -javascript-but-why-with-jquery) –