2010-10-07 16 views
6

Używam metody jQuery ajax do pobierania danych z bazy danych i zwracania danych za pośrednictwem obiektu json. Jednak jedną z wartości w tym obiekcie Json jest ciąg znaków HTML. Zasadniczo robię dokładnie to, co widzę here, z wyjątkiem tego, że muszę wiedzieć, jak mogę usunąć ukośniki, które jQuery dodaje do ciągu HTML. Jakieś pomysły?Pozycjonowanie pasków, które jQuery dodaje przy zwracaniu HTML przez ajax?

Przykład

json.HTML = Click <a href=\"http://example.com/example.php\">here</a>; 

//Needs to be 
json.HTML = Click <a href="http://example.com/example.php">here</a>; 

miałem nadzieję zrobić to bez kodu, jeśli to możliwe.

UPDATE

Ok znalazłem, że jeśli to zrobię htmlentites zanim zostanie zwrócone, wówczas ukośniki nie istnieją, gdy wartość przychodzi. Teraz, której funkcja jQuery chciałbym użyć aby wstawić ten ciąg wewnątrz element td bez ukośników dodawanych przez funkcje .html lub .text.

Oto jak to wygląda bezpośrednio od wartości json.HTML,

Click &lt;a href=\&quot;http://example.com\&quot;&gt;here&lt;/a&gt; 

I tu jest po to jest wyświetlane przy użyciu .html

Click <a href=\"http://example.com\">here</a> 

I tu jest po to jest wyświetlane przy użyciu .text

Click &lt;a href=\&quot;http://example.com\&quot;&gt;here&lt;/a&gt; 

Zastanawiam się, czy muszę użyć .val może? Jeszcze jedno, chcę, żeby ten HTML był wyświetlany dosłownie, a nie rzeczywisty kod HTML, który ma zostać wstawiony do kodu.

+0

Czy masz przykład ciągu, który jest zwracany, i co chcesz to być? – Ender

+0

także więcej kodu byłoby miło zobaczyć – mcgrailm

+0

to ukośnik zapisany w bazie danych? – mcgrailm

Odpowiedz

2

Po zabawy z tym przez bardzo długi czas. Dowiedziałem się, że rozbierałem ukośniki z danych postu i zapisywałem tę wartość w tablicy, która była poprawna, ale później użyłem ponownie wartości surowych, z których pochodziły ukośniki. Wszystko, co musiałem zrobić, to wykorzystać wartość, którą już zdjąłem.

2

To może być tak proste, jak:

stringvar.replace('\\',''); 
+0

Miałem nadzieję, że istnieje opcja, którą mógłbym zmienić w jQuery, aby była wykonywana automatycznie. Chciałbym zrobić to bez kodu, jeśli to możliwe. – Metropolis

2

nie sądzę problem jest jquery dodanie ukośniki. Nie sądzę, aby Twój json powrócił poprawnie do php, czy użyłeś json_encode i podałeś nagłówek json? jak wygląda efekt json, jeśli zapiszesz go jako plik tekstowy?

też, jeśli nie można dostać to zejść poprawnie można użyć

unescape function

się umieścić to jako json

$foo = 'Click &lt;a href=&quot;http://example.com&quot;&gt;here&lt;/a&gt;'; 

    header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); 
    header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT"); 
    header("Cache-Control: no-cache, must-revalidate"); 
    header("Pragma: no-cache"); 
    header("Content-type: text/x-json"); 
    echo json_encode($foo); 

i zobaczyć, czy robi to samo

EDYTOWANIE Nie używaj tekstu, który chcesz otrzymać coś takiego jak

 $('#table_id td').html(json_response); 

że jest pseudokod

+0

Tak, używam json_encode i dając nagłówek json – Metropolis

+0

Stosując powyższe i .text do ouput jest wyświetlanie tego - Kliknij < a href = " http://example.com " > tutaj </a > – Metropolis

+0

ok więc widać tam i nie ma slasha dodawanego przez jquery teraz zobacz moją nową edycję, aby przyjść – mcgrailm

Powiązane problemy