&价值没有出现在AJAX调用
问题描述:
我正在通过AJAX将值提交到数据库。目前,它用了jQuery的Ajax object.My Ajax代码基本上是这样的:&价值没有出现在AJAX调用
enter code here
VAR流派= form.new_album_genre.value; form.new_album_genre.value =“”;
$.ajax({
type: "POST",
data: "genre="+genre+"&app="+app,
url: 'apps/PVElectronicPressKitAdmin/ajax_add_album_genre.php',
success: function(data) {
$('#'+divID).html(data);
} });
简而言之,它从表单中获取值,然后通过帖子提交数据。如果类型与R & B类似,则失败。&符号不是sumbitting,只有R是。那么如何通过AJAX提交价值,包括&,+和=?
答
您需要encodeURIComponent
来处理URI中具有特殊含义的字符。
(或者传递包含键/值对jQuery的对象,而不是查询字符串String
你现在有)
答
使用
$.ajax({
type: "POST",
data: "genre="+encodeURIComponent(genre)+"&app="+encodeURIComponent(app),
url: 'apps/PVElectronicPressKitAdmin/ajax_add_album_genre.php',
success: function(data) {
$('#'+divID).html(data);
因为&它被解释为一个新的参数。
在您的案例中,数据看起来像流派= R & B & app = somethig - >这意味着3个参数:流派,B和应用程序。
答
我从来没有使用
$.post('apps/PVElectronicPressKitAdmin/ajax_add_album_genre.php', {
'genre' : genre,
'app' : app
},
function(data) {
$('#'+divID).html(data);
});
答
捎带过戴维·多沃德的回答
$.ajax({
type: 'POST',
url: 'apps/PVElectronicPressKitAdmin/ajax_add_album_genre.php',
data: { genre : form.new_album_genre.value, app: form.app.value },
success: function (data, textStatus) {
$('#'+divID).html(data);
}
});
由于有特殊字符的一个问题,即quicky和容易 – 2010-09-29 18:34:18
工作了可扩展性和维护的目的,但是,你使用这些数据会更好:{//插入对象键:值对}。否则,每次都必须记住encodeURIComponent()。此外,通过巨大的查询字符串是如此2002 ... – 2010-09-29 18:42:28