4
$.ajax({
   type: "POST",
   url: "bla",
   xhrFields: { responseType: "document" },
   data: {},
   success: function(arg,arg2,request){
      console.log(request.responseXML)
   }
})

「未定義」と出力されるのはなぜですか? どうすればこれを修正できますか?

4

1 に答える 1

4

JSON が返されることを期待していますか? 試してみるとどうなりますか:

$.ajax({
  type: "POST",
  url: "bla",
  dataType: 'xml',
}).done(function (response) {
   console.log(response);
});

jQuery のドキュメントを見ると、次のように概説されています。

jQuery 1.5 の時点で $.ajax() によって返される jQuery XMLHttpRequest (jqXHR) オブジェクトは、ブラウザーのネイティブ XMLHttpRequest オブジェクトのスーパーセットです。たとえば、responseText プロパティと responseXML プロパティ、および getResponseHeader() メソッドが含まれています。

したがって、応答変数には必要なものが含まれています。その構造を確認するにはconsole.log()、開発者ツール (Chrome) または Firebug (Firefox) の [コンソール] タブに移動します。

于 2013-01-19T17:26:48.967 に答える