jquery ajax を使用して django (開発サーバー) から静的ファイル (js スクリプト) を取得しようとしていますが、何かが$.ajax
解決の約束を妨げています。
これが私のajax呼び出しです:
$.when(
$.ajax({dataType: "script", cache: true, url: "/static/ajax_upload/js/jquery.iframe-transport.js"}),
$.ajax({dataType: "script", cache: true, url: "/static/ajax_upload/js/ajax-upload-widget.js"})
).then(function() {
console.log( "Load was performed." );
AjaxUploadWidget.autoDiscover();
$("#level-modal").foundation("reveal", "open");
}, function () { alert("An error occured, try reloading the page."); });
関数内では何then
も呼び出されず、成功も失敗もありません。
奇妙なことは、Google のファイルを使用した同じ ajax 呼び出しが機能することです。
$.when(
$.ajax({dataType: "script", cache: true, url: "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"}),
$.ajax({dataType: "script", cache: true, url: "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"})
).then(function() {
console.log( "Load was performed." );
AjaxUploadWidget.autoDiscover();
$("#level-modal").foundation("reveal", "open");
}, function () { alert("An error occured, try reloading the page."); });
応答ヘッダーに何か問題があるのではないかと思いますが、ステータスが 200 になり、Http の専門家ではありません。
django からの応答:
HTTP/1.0 200 OK
Date: Sat, 24 Jan 2015 22:57:35 GMT
Server: WSGIServer/0.1 Python/2.7.3
Last-Modified: Sat, 24 Jan 2015 18:45:52 GMT
Content-Length: 9476
Content-Type: application/javascript
Google からの応答:
access-control-allow-origin:*
alternate-protocol:443:quic,p=0.02
cache-control:public, max-age=31536000
content-encoding:gzip
content-length:29524
content-type:text/javascript; charset=UTF-8
date:Sat, 24 Jan 2015 22:57:38 GMT
expires:Sun, 24 Jan 2016 22:57:38 GMT
last-modified:Fri, 19 Dec 2014 15:56:50 GMT
server:sffe
status:200 OK
timing-allow-origin:*
vary:Accept-Encoding
version:HTTP/1.1
x-content-type-options:nosniff
x-xss-protection:1; mode=block