JQuery.Ajax在字符串中用<>调用

use*_*268 0 string ajax jquery inequality

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

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

哪里name可能包含标记.

Dar*_*rov 5

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

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

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

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

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

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