JQuery AJAX преобразование переменной строки в текст в стиле HTML - PullRequest
0 голосов
/ 08 мая 2010

У меня есть передача переменной AJAX переменной строки на моем основном языке кодирования (Visual FoxPro 9), которая выглядит следующим образом:

     AjaxResponse = CREATEOBJECT("Custom")
     lcMessage = "<li class='hello'>Hello</li>"
     AjaxResponse.AddProperty("Reply", lcMessage)
     Response.ContentType = "text/html"
     Response.Write(AjaxResponse.Reply)

При использовании функции jQuery .ajax () я создал success: функцию, которая выглядит следующим образом:

        $.ajax({
            url: 'index?Proc=GetUuserHistory',
            dataType: "html",
            success: function(data){
               $("div#history-text").html('<ul>' + data + '</ul>');
            };
         });

Моя проблема в том, что текст, вставляемый в div # history-text, не отформатирован и по-прежнему содержит теги li. Я попытался заменить .text для .prepend, .append и .html безуспешно ... есть ли способ преобразовать эту строку обратно в формат html после ее получения с использованием Ajax?

Ответы [ 2 ]

3 голосов
/ 08 мая 2010

Вместо .text() используйте .html() следующим образом:

$("div#history-text").html(data);

Убедитесь, что вы вставляете <li> в <ul> (вы в настоящее время вставляете в <div>), и это будет работать, вставляя его так: <div><li>Stuff</li></div> ... является недействительным HTML, не уверен, какими будут результаты отображения, особенно кросс-браузер.

Редактировать: для будущих пользователей, убедитесь, что все стили не влияют на отображение новых добавленных элементов:)

0 голосов
/ 08 мая 2010

Вы пытались использовать .load () вместо .ajax().

...