jQuery html () ve amp;

5 Cevap php

İnsanların listesi içinde arama yapıyorum. Ve ben anında sonuçlarını göstermek istiyorum ve bu yüzden yok. Ama ihtiyacım var ve bu gibi görünmelidir bir bağlantı var:

chatid=18&userid=45&create=new

ancak sonuçlar bu sayede gösterildi sonra:

$.get('/ajax.php', {sec: 'search_users', ajax: 1, search_for: $(this).val()}, function(data)
{
	$(".rBoxContentStaff").html(data);
});

Ben bu sonucu alırsınız:

chatid=18&userid=45&create=new

Ve bağlantı çalışmıyor. Bu html olur () ve ayrıca append () gibi görünüyor.

I found no solution for this so I had to change the triggering of the link.

5 Cevap

You said you are trying to set the link path correct?
If so try this

$(".rBoxContentStaff").attr("href", data);

.html() & değişiyor Bir html & için (&) fakat .attr("href") bağlantı yolunu belirler ve o inşaat ile & s de

Bunun yerine yapma:

$(".rBoxContentStaff").html(data); });

Bu deneyin:

$(".rBoxContentStaff").append(data); });

text() escapes html characters ... I can't find anything about html() escaping characters (and indeed, its documentation seems to indicate otherwise.
However, after testing with alert at jmein's suggestion, it does encode special characters. Append() does not do so.

bağlantıları bu şekilde çıktı neden html özel karakter ajax tarafından talep edildiğinde, tarayıcı tarafından yorumlanır alamadım .. bu. Yapabileceğiniz tek şey bir sstring javascript değiştirin:

data = str.replace(/&/, "&");

Sen $. Ajax () fonksiyonu yerine $ kullanarak denemelisiniz. Olsun ().

Ile $. Ajax () Eğer veri türünü kendiniz belirleyebilirsiniz (ve diğer seçenekleri kullanın).

Böyle bir şey deneyin:

$.ajax({
type: "GET",
url: "/ajax.php",
data: "sec=search_users&ajax=1&search_for="+$(this).val(),
cache: false,
dataType: "html",
success: function(html){
	$(".rBoxContentStaff").html(html);
} });

Ve sadece metin (<a /> sadece bir yardımcı) almak dönüştürmek için yolu da var:

$('<a /'>).html(data).text()

Bu &amp; & taşımak ve aynı zamanda &imp;, vb gibi tüm diğer özel karakterler olacak ..