読みだすデータは、shift_jis で書かれた JSON 形式のテキストです。{ "version" : "1.01a", "name" : "日本語名表示" }.then() は、Windows8 Metro(JS) のすべての処理において同じ仕様のものが使われています 成功の場合 1) success が呼ばれる 2) doneCallbacks が呼ばれる 失敗の場合 1) failCallbacks が呼ばれる 2) statusCode 内が呼ばれる JSON.parse を使用しているのは、Windows8 Metro(JS)との互換の為です。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta http-equiv="Content-type" content="text/html; charset=euc-jp"> </head> <body> <script type="text/javascript" src="http://localhost/json/jquery-1.7.2.min.js"></script> <script type="text/javascript"> $.ajax({ url: "target.json", beforeSend: function ( xhr ) { xhr.overrideMimeType("text/plain; charset=shift_jis"); }, success: function(data, textStatus, jqXHR) { alert(data); alert(textStatus); alert( JSON.stringify(jqXHR,null," ") ); }, statusCode: { 404: function() { alert("ページが存在しません"); } } }).then( function(data, textStatus, jqXHR) { var obj = JSON.parse( data ); $("#tx1").val( obj.version ); $("#tx2").val( obj.name ); }, function(data) { alert("err\n"+JSON.stringify(data,null," ")); alert("この後、statusCode の処理が実行されます"); } ); </script> <input type="text" id="tx1"> <br /> <input type="text" id="tx2"> </body> </html>