问题描述
我有一个输入元素&价值: < input type =checkboxvalue =Biografie,životopisy,osudy,Domácírock& amp; />
当我尝试通过ajax请求发送它:
$。ajax({
type:POST,
url:/admin/kategorie/add/link.json,
data:id =+ id +& value =+ value +& type =+ type,
error:function(){alert('Chyba!Reloadněteprosímstránku。');}
});
实际发送的帖子数据是:
id:1
pop:
type:e
value:Biografie,životopisy,osudy,Domácírock
*请注意,数据中的所有变量都被定义,值包含$(thatInputElement).attr('value')。
如何正确地退出& amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp c>将包含
Biografie,životopisy,osudy,Domácírock& amp; amp; pop
?
您可以将数据
选项设置为对象,并让jQuery执行编码,如下所示:
$。ajax({
type:POST,
url:/admin/kategorie/add/link.json,
data :{id:id,value:value,type:type},
error:function(){alert('Chyba!Reloadněteprosímstránku。');}
});
您可以使用,像这样:
encodeURIComponent(value)
但是,在大多数情况下,第一个选项更简单/更简单:)
i have an input element with & in value:
<input type="checkbox" value="Biografie, životopisy, osudy, Domácí rock&pop" />
When i try sending it through an ajax request:
$.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.');}
});
the post data that actually gets sent is:
id: 1
pop:
type: e
value: Biografie, životopisy, osudy, Domácí rock
*Note that all the variables in data are defined and value contains $(thatInputElement).attr('value').
How can I escape the &
properly so that post field value
would contain Biografie, životopisy, osudy, Domácí rock&pop
?
You can set your data
option as an object and let jQuery do the encoding, like this:
$.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.'); }
});
You can encode each value using encodeURIComponent()
, like this:
encodeURIComponent(value)
But the first option much simpler/shorter in most cases :)
这篇关于如何逃避&在jQuery的POST请求中?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!