我有一个简单的jquery ajax调用来更新输入框中的数据。我在输入中有任何标记的那一刻,例如<div>
它不会进入控制器。有关我如何调用ajax并保存到其中包含html代码标记的数据库texxt的任何帮助
$.ajax({
type:post,
url: "/dom/updatelement",
data: "name="+name+&id="+id
});
name
可能包含标记。
答案 0 :(得分: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)
});
但老实说,第一种方法似乎更具可读性和优选性。
答案 1 :(得分:1)
首先,您应该进行正确的Ajax调用:
$.ajax({
type: "POST",
url: "/dom/updatelement",
data: {
name: name,
id: id
}
});
接下来,您可以使用特殊函数(例如PHP中的htmlspecialchars()
)转换控制器部分中的<
或>
等字符。