代码之家  ›  专栏  ›  技术社区  ›  sadmicrowave

jquery ajax将变量字符串转换为HTML样式的文本

  •  0
  • sadmicrowave  · 技术社区  · 15 年前

    我的主要编码语言(VisualFoxPro 9)中有一个变量字符串的Ajax传输,如下所示:

         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,但没有成功…是否有一种方法可以在使用Ajax接收到该字符串后将其转换回HTML格式?

    2 回复  |  直到 15 年前
        1
  •  3
  •   Nick Craver    15 年前

    而不是 .text() 使用 .html() 这样地:

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

    确保插入 <li> 进入之内 <ul> (您当前正在插入到 <div> )这样就可以了,就像这样插入: <div><li>Stuff</li></div> …是无效的HTML,不确定显示结果是什么,尤其是跨浏览器。

    编辑: 对于未来的用户,请确保任何样式都不会影响新添加元素的显示:)

        2
  •  0
  •   bschaeffer    15 年前

    你试过用吗 .load() 而不是 .ajax() .