我有一个输入元素,其值是&:
<input type="checkbox" value="Biografie, životopisy, osudy, Domácí rock&pop" />
当我尝试通过 ajax 请求发送它时:
$.ajax({
type: "POST",
url: "/admin/kategorie/add/link.json",
data: "id="+id+"&value="+value+"&type="+type,
error: function(){alert('Chyba! Reloadněte prosím stránku.');}
});
实际发送的帖子数据是:
id: 1
pop:
type: e
value: Biografie, životopisy, osudy, Domácí rock
*请注意,data 中的所有变量均已定义,并且 value 包含 $(thatInputElement).attr('value')。
如何正确转义 &
以便帖子字段 value
包含 Biografie、životopisy、osudy、Domácí rock&pop
?
最佳答案
您可以将 data
选项设置为对象并让 jQuery 进行编码,如下所示:
$.ajax({
type: "POST",
url: "/admin/kategorie/add/link.json",
data: { id: id, value: value, type: type },
error: function(){ alert('Chyba! Reloadněte prosím stránku.'); }
});
您可以使用encodeURIComponent()
对每个值进行编码,像这样:
encodeURIComponent(value)
但在大多数情况下,第一个选项更简单/更短:)
关于jquery - 如何在 jQuery 中的 POST 请求中转义 & ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3319123/