通过ajax返回HTML时jQuery添加的条带斜线?

时间:2010-10-07 18:34:17

标签: jquery ajax json

我使用jQuery ajax方法从数据库中获取数据并通过json对象返回数据。但是,此json对象中的一个值是HTML字符串。我基本上正在做的事情here,除了我需要知道如何删除jQuery添加到HTML字符串的斜杠。有什么想法吗?

示例

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>;

如果可能的话,我希望在没有代码的情况下这样做。

更新

好的,我发现如果我在返回之前做了htmlentites,那么当值进入时,斜杠就不存在了。现在,我将使用哪个jquery函数将此字符串插入到td元素中而不添加斜杠。 html或.text函数。

以下是直接来自json.HTML值的内容,

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

这是在使用.html

显示之后
Click <a href=\"http://example.com\">here</a>

以下是使用.text

显示的内容
Click &lt;a href=\&quot;http://example.com\&quot;&gt;here&lt;/a&gt;

我想知道我是否需要使用.val?哦,还有一件事,我希望这个HTML能够按字面显示,而不是要插入到代码中的实际HTML。

3 个答案:

答案 0 :(得分:2)

可能就像这样简单:

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

答案 1 :(得分:2)

我不认为你的问题是jquery添加斜杠。我不认为你正确地从你的PHP返回json你是使用json_encode并给json标头?如果将json结果保存为文本文件,它会是什么样的?

如果你无法正常下来,你可以使用

unescape function

将这个作为你的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);

并查看是否有同样的事情

修改 不要使用你想要的文字

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

这是伪代码

答案 2 :(得分:2)

玩了很长时间之后。我发现我正在从post数据中删除斜杠并将该值存储在一个正确的数组中,但后来我再次使用post值raw,这是斜杠的来源。我需要做的就是使用我已经删除了斜杠的值。