根据Jquery.ajax的文档,成功是一个委托(至少我认为是这样,它可以让您定义要调用的函数),它将调用一个函数并将其传递给
PlainObject, String, jqXHR
但是,当我使用以下代码时,使用警报进行检查时,我发现该XML不是PlainObject。
$(document).ready(function () {
$("#dvContent").append("<ul></ul>");
$.ajax({
type: "GET",
url: "message.xml",
dataType: "xml",
success: function (xml) {
alert(jQuery.isPlainObject(xml));
alert(jQuery.isPlainObject($(xml)));
$(xml).find('Book').each(function () {
var sTitle = $(this).find('Title').text();
var sPublisher = $(this).find('Publisher').text();
});
},
error: function () {
alert("An error occurred while processing XML file.");
}
});
});
这怎么可能?
这就是动态语言的本质。即使文档建议这样做PlainObject
,也不能由该语言强制执行。因此,因为返回的内容类型xml
不是可以评估为的内容PlainObject
。
以下问题详细介绍了该isPlainObject
函数:IsPlainObject,是吗?
从jQuery文档中,关键的一点是它将
成功:
类型:函数(PlainObject data,String textStatus,jqXHR jqXHR)
该函数传递了三个参数:服务器返回的数据,根据dataType参数设置格式; ...
因此,通过在方法签名中将其描述为PlainObject
,他们表示(如果可能的话)它将被评估为一个真正的javascript对象,否则,您将独自一人,这是服务器的原始响应。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句