jQuery1.8とKohanaを使用した単純なjQueryajax呼び出しと応答:
$.ajax({
data:{
file: file
},
dataType: 'json',
url: 'media/delete',
contentType: 'application/json; charset=utf-8',
type: 'GET',
complete: function(response){
console.log(response);
console.log(response.file);
}
});
URLのPHPは、次を返す単純なjson_encode()ページです。
{"file":"uploaded\/img\/Screen Shot 2012-04-21 at 2.17.06 PM-610.png"}
JSLintによるとこれは有効なJSONです。
firebugによると、応答ヘッダーは次のとおりです。
Response Headers
Connection Keep-Alive
Content-Length 74
Content-Type application/json
Date Sun, 12 Aug 2012 17:44:39 GMT
Keep-Alive timeout=5, max=97
Server Apache/2.4.1 (Unix) PHP/5.4.0
X-Powered-By PHP/5.4.0
しかし、成功関数では、「応答」は私が期待しているJSオブジェクトではないため、response.fileにアクセスできません。代わりに、readyState、responseText、statusなどのフィールドを持つある種の応答オブジェクトのようです。
ここにはこれに似た質問がたくさんありますが、他の回答によれば、すべてが正しく配線されていると思います。
ここで何が欠けていますか?