jsonp の shopify ajaxapi から奇妙な応答が返ってきました。
Shopify ajax APIの場所をcURLする場合
http://storename.domain.com/cart.json?callback=handler
jsonp 応答が返されます。しかし、何かがブラウザで同じリクエストを壊しています。
圧縮に関係しているように見えますか?文書化されているように jsonp を呼び出そうとしたときの各ブラウザーからの応答を次に示します。
- Firefox: 表示しようとしているページは、無効またはサポートされていない形式の圧縮を使用しているため、表示できません。
- Internet Explorer: Internet Explorer は Web ページを表示できません
- Chrome/Safari/Webkit: 生データをデコードできないか、失敗しました (chrome)
jquery経由で使用しようとした:
$.getJSON('http://storename.domain.com/cart.json?callback=?', function(data) { ... });
// Results in a failed request, viewable network request panels of dev tools
応答ヘッダーを含む cURL からの出力を次に示します。
$ curl -i http://storename.domain.com/cart.json?callback=CALLBACK_FUNC
HTTP/1.1 200 OK
Server: nginx
Date: Tue, 18 Dec 2012 13:48:29 GMT
Content-Type: application/javascript; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Status: 200 OK
ETag: cachable:864076445587123764313132415008994143575
Cache-Control: max-age=0, private, must-revalidate
X-Alternate-Cache-Key: cachable:11795444887523410552615529412743919200
X-Cache: hit, server
X-Request-Id: a0c33a55230fe42bce79b462f6fe450d
X-UA-Compatible: IE=Edge,chrome=1
Set-Cookie: _session_id=b6ace1d7b0dbedd37f7787d10e173131; path=/; HttpOnly
X-Runtime: 0.033811
P3P: CP="NOI DSP COR NID ADMa OPTa OUR NOR"
CALLBACK_FUNC({"token":null,"note":null,"attributes":{},"total_price":0,...})
ここにも未回答の関連があります: https://stackoverflow.com/questions/13750841/shopify-ajax-api-jsonp-supported
ありがとう