$.ajax
我从通话中返回了一大块 HTML 。来自 PHP 的字符串在开头有两个换行符,例如
$data = "
<div>
<p>Here is some text</p>
</div>";
这是$.ajax
电话:
$('form#form_id').submit(function(e){
e.preventDefault();
$form = $(this);
$.ajax({
url: $form.attr('action'),
type: $form.attr('method'),
data: $form.serialize(),
dataType: 'html',
success: function(data) {
var $html = $($.parseHTML(data));
$html.appendTo('#container_id').hide().fadeIn(300);
}
});
});
一切正常,直到我添加.hide().fadeIn(300)
它抛出的点:TypeError: 'undefined' is not an object (evaluating 'hooks.cur = fn') jquery.js:1925
。如果我删除换行符,它会起作用。我正在使用,$.parseHTML
因为 jQuery 说:
如果已知字符串是 HTML,但可能以非 HTML 标记的任意文本开头,则将其传递给 jQuery.parseHTML(),它将返回代表标记的 DOM 节点数组。可以由此创建一个 jQuery 集合,例如:$($.parseHTML(htmlString))。
知道发生了什么吗?