1
私はコードでクロスドメインコール作ってるんだ:JSONP parseerrror
$.ajax({
type: "GET",
url: data.Url,
mimeType: "application/javascript",
dataType: "jsonp",
jsonp: false,
cache: true,
jsonpCallback: "getData",
success: function(data){
callback(data.html);
},
error:function (xhr, ajaxOptions, thrownError){
alert('Error during downloading ebook component:'+ componentId + ' thrownError:' + thrownError);
}
});
とサーバーの応答:
HTTP/1.1 200 OK
x-amz-id-2: YIPtShlPtOmDcIvn3ldRVkONQJTDxFba7OFWnL44A5HVZFXL0+9gGTnO/uZ5muFi
x-amz-request-id: AF6CF3B66F843250
Date: Mon, 08 Aug 2011 11:32:52 GMT
Last-Modified: Mon, 08 Aug 2011 11:24:51 GMT
ETag: "ee72cfb6fea66192a34b4fa72796b260"
Accept-Ranges: bytes
Content-Type: application/octet-stream
Content-Length: 30
Server: AmazonS3
getData({{"html":"example"}})
そして、あなたが推測することとしては、エラーハンドラがthrownErrorで実行されます。「のgetDataが呼び出されませんでした'とxhr.statusText:' parseerror 'です。
すべてのアイデア?私はかなりコードを実行していることを確かめています(私はリポジトリとコードを比較しましたが、diffrenceはありません)ので、私はそれがサーバレスポンスのものであると推測しています。
なぜ 'JSONPです:'偽? – Eric
私はこの質問を投稿して2分後、すごくうれしいです。 明らかにJSONオブジェクトが正しくないため、かっことセミコロンのペアが1つ必要です。 getData({"html": "example"}); – tekado
@Eric jsonp:jqueryを追加したくないのでfalseですか?callback = ... urlには、このファイルがamazon S3に保存されているため、urlを変更しないでください。 – tekado