【问题标题】:Strip slashes that jQuery adds when returning HTML via ajax?通过ajax返回HTML时jQuery添加的斜杠?
【发布时间】:2023-03-27 12:28:01
【问题描述】:

我正在使用 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。

【问题讨论】:

  • 您有返回字符串的示例吗?您希望它是什么?
  • 还有更多代码会很高兴看到
  • 斜线是否存储在数据库中?
  • @mcgrailm:不,它不在数据库中

标签: jquery ajax json


【解决方案1】:

可以这么简单:

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

【讨论】:

  • 我希望有一个选项可以在 jQuery 中更改以使其自动完成。如果可能的话,我想不使用代码。
【解决方案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);

那是伪代码

【讨论】:

  • 使用上面和 .text 来输出它正在显示这个 - 点击 <a href="example.com&quot;&gt;here&lt;/a&gt;
  • 好的,所以你看到我没有被 jquery 添加斜线现在看到我的新编辑来了
  • 好的太棒了。我可能是这样......我将再测试几分钟并回复你。
  • 我发现了问题所在。我需要去除 POST 数据上的斜线,这是我在一个地方做的,但我当时使用的是 POST 数据,而没有在另一个地方去除它们。很抱歉为此带来的所有麻烦。非常感谢您的帮助。
  • 完全没有问题。很高兴我能帮上忙,现在您知道 jQuery 也不会添加斜杠。作为旁注,我不鼓励在您的链接之前使用“CLICK”这个词,您的链接应该足以让用户知道点击它不仅在您的上下文中用户可能会尝试点击“CLICK”这个词只是我的两美分
【解决方案3】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-25
    • 1970-01-01
    • 2015-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-03
    相关资源
    最近更新 更多