jQuery ajax html geri arama nedeni hataları kırar. PHP'den gelen dizgenin başında iki satır sonu vardır, örn. İşte
$data = "
<div>
<p>Here is some text</p>
</div>";
$.ajax
çağrısıdır:
TypeError: 'undefined' is not an object (evaluating 'hooks.cur = fn') jquery.js:1925
: Ben
.hide().fadeIn(300)
, aynı tarihte atar işaret eklemek kadar
$('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);
}
});
});
Her şey çalışır. Satır sonlarını kaldırırsam çalışır. bir dize HTML olduğu bilinir ancak bir HTML etiketi olmadığı keyfi metinle başlayabilir
ise, dönecektir jQuery.parseHTML() iletecek: jQuery diyor çünkü
$.parseHTML
kullanıyorum İşaretlemeyi temsil eden DOM düğümleri dizisi. Bir jQuery toplama örneğin bundan oluşturulabilir: $ (. $ ParseHTML (htmlString)).
neler fikrin var mı?
Muhtemelen '.parseHTML()' İçinde jQuery nesnelerle sadece diziye HTML verilerini exploiding olduğunu, yani '\ n ' veya benzer bir şey oluyor. –
Metin düğümünü filtrelemeyi deneyin ve hatanın devam edip etmediğini görün. '.filter ('*') '. – Musa
Bingo. 'Var $ html = $ ($ parseHTML (veri).) Filtre ('*'),. 'Çalıştı. Cevabı ver ve kabul edeceğim. –