0

我有一个简单的 jquery ajax 调用来更新输入框中的数据。当我在输入中有任何标记时,例如<div>它不会进入控制器。有关如何调用 ajax 并保存到其中包含 html 代码标记的数据库 texxt 的任何帮助

$.ajax({
  type:post,
  url: "/dom/updatelement",
  data: "name="+name+&id="+id
});

其中name可能包含标记。

4

2 回答 2

5

以下是在 POST 请求中发送数据的正确方法:

$.ajax({
  type: 'post',
  url: '/dom/updatelement',
  data: { name: name, id: id }
});

jQuery 将确保在使用此语法时正确地对数据进行 url 编码。

您当然可以使用以下encodeURIComponent方法手动完成此操作:

$.ajax({
  type: 'post',
  url: '/dom/updatelement',
  data: 'name=' + encodeURIComponent(name) + '&id=' + encodeURIComponent(id)
});

但老实说,第一种方法似乎更具可读性和可取性。

于 2012-10-15T11:55:46.710 回答
1

首先,您应该进行正确的 Ajax 调用:

$.ajax({
    type: "POST",
    url: "/dom/updatelement",
    data: {
        name: name,
        id: id
    }
});

接下来,您可以使用特殊函数(例如在 PHP 中)在控制器部分<或控制器部分转换字符。>htmlspecialchars()

于 2012-10-15T11:56:10.827 回答