jQuery の dataType 'jsonp' を使用して、API から JSON 文字列を取得します。返される obj に「:」コロンを含む文字列が含まれているため、操作は失敗します。
ここでフィドルを見つけてください:http://jsfiddle.net/ezmilhouse/vZjV4/1/
var url = 'http://api.spreadshirt.com/api/v1/shops/329852/articles?fullData=true&locale=us_US&offset=0&attributeSet=staticShop&mediaType=jsonp';
$.ajax({
cache: false,
callback: "callback",
dataType: 'jsonp',
pageCache: false,
url: url,
callbackParameter: "callback",
success: function(data, status, jqXHR) {
console.log(data);
}});
返される obj は次のようになります。これは有効な JSON (jsonlint.com でテスト済み) です。
{"articles": [
{
"name": "Honoring Generations of Mothers - Youth TShirt",
"description": "t-shirt for women, Brand: ALO"
}
]}
しかし、jQuery は
unterminated string literal
「ブランド」の後のコロンが気に入らないため、エラーが発生しました
"description": "t-shirt for women, Brand: ALO" // colon causes error
jQueryのjsonpで動作するようにコロンをエスケープする必要がありますか? 回避策はありますか?
どうも