$.ajax({
type: "POST",
url: "bla",
xhrFields: { responseType: "document" },
data: {},
success: function(arg,arg2,request){
console.log(request.responseXML)
}
})
为什么打印“未定义”?我将如何解决这个问题?
您期待 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() 方法。
因此,响应变量包含您需要的内容。要查看其结构,请执行 aconsole.log()
并转到开发人员工具 (Chrome) 或 Firebug (Firefox) 中的“控制台”选项卡。