html karakterleri ile json dize döndürür?

2 Cevap php

i bazı veritabanı şeyler yapmak ve daha sonra bağlantıların 2 listelerini dönmek için jquery ile ajax php aramak istiyorum. Bunu ben sağ tarafında web sayfası ve listenin 2 sol tarafında listesinde 1 görüntüleyebilirsiniz böylece geri jquery için bu iki bağlantı listeleri geçmek zorunda.

i json_encode ile jquery geri göndermek ayrı dizilerde listeleri oluşturulmuş ama tüm html karakterleri kaçar fark ettim.

<a>dog</a> became <a>dog<\/a>

i html liste görüntülendiğinde bu yüzden artık bağlantıları werent.

jQuery benim döndü dizilerde html kodları koruyabilirsiniz?

EDIT: Bu jquery html farklı yerlerde bunları görüntüleyebilirsiniz böylece php verileri bölmek istiyorsanız gitmek için doğru yolu nedir?

// list 1
while($row = mysqli_fetch_assoc($saved_tags))
{
    $display_saved_tags[] = "<a id='showtag' href='answer.php?id=" . $row['id'] . "'>" . $row['name'] . "</a><br />";
}

// list 2
while($row = mysqli_fetch_assoc($related_tags))
{
    $display_related_tags[] = "<a id='showtag' href='answer.php?id=" . $row['id'] . "'>" . $row['name'] . "</a><br />";
}

// return lists to jquery
echo json_encode('display_saved_tags' => $display_saved_tags, 'display_related_tags' => $display_related_tags));

2 Cevap

json_encode 'ın çıkış karakterleri doğrudan HTML çıkışı ile çakışıyor. Ben aynı sorunu vardı ama zaman alternatif bir çözüm kullanmaya karar verdim. Ben sadece belki bu yapabileceği bir düşünce vardı:

$data = new stdClass();
$data->html1 = base64_encode('<h1>html in here</h1>');
$data->html2 = base64_encode('<p><strong>more html</strong></p>');
echo json_encode($data);

Önyüzü üzerinde:

callbackFunction(json) {
    alert(base64_decode(json.html1));
    alert(base64_decode(json.html2));
}

You would need the javascript implementations of base64_decode and utf8_decode which can be found at: http://phpjs.org/functions/base64%5Fdecode:357

okuma veya tarayıcıya gönderirken kullanımı un-kaçmak karakter işlevin aşağıdaki kullanabilirsiniz:

 html_entity_decode('your response here');

Senin json_encode kullanıyorsanız Ayrıca, çünkü kodunuzda aşağıda işlevi gerekmez emin olun:

json_decode