cyp*_*her 9 ajax jquery escaping
我有一个带&符号值的输入元素:
<input type="checkbox" value="Biografie, životopisy, osudy, Domácí rock&pop" />
Run Code Online (Sandbox Code Playgroud)
当我尝试通过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.');}
});
Run Code Online (Sandbox Code Playgroud)
实际发送的帖子数据是:
id: 1
pop:
type: e
value: Biografie, životopisy, osudy, Domácí rock
Run Code Online (Sandbox Code Playgroud)
*请注意,数据中的所有变量都已定义,值包含$(thatInputElement).attr('value').
我怎样才能&正确逃脱,以便后期字段value包含Biografie, životopisy, osudy, Domácí rock&pop?
Nic*_*ver 26
您可以将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.'); }
});
Run Code Online (Sandbox Code Playgroud)
您可以使用encodeURIComponent()这样编码每个值:
encodeURIComponent(value)
Run Code Online (Sandbox Code Playgroud)
但在大多数情况下,第一个选项更简单/更短:)