&安培; AJAX调用不会出现值

时间:2010-09-29 18:18:23

标签: php javascript ajax webforms

我正致力于通过AJAX将值提交到数据库中。它目前使用JQuery Ajax对象。我的Ajax代码基本上是这样的:

enter code here

var genre = 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提交值,包括&,+和=?

4 个答案:

答案 0 :(得分:1)

您需要encodeURIComponent来处理URI中具有特殊含义的字符。

(或者将包含键/值对的对象传递给jQuery而不是现在的查询字符串String

答案 1 :(得分:0)

使用

$.ajax({
    type: "POST",
    data: "genre="+encodeURIComponent(genre)+"&app="+encodeURIComponent(app),
    url: 'apps/PVElectronicPressKitAdmin/ajax_add_album_genre.php',
    success: function(data) {
    $('#'+divID).html(data);

因为&它被解释为一个新参数 在您的情况下,数据看起来像genre = R& B& app = somethig - >这意味着3个参数:流派,B和app。

答案 2 :(得分:0)

我使用

从未遇到过使用特殊字符的问题
$.post('apps/PVElectronicPressKitAdmin/ajax_add_album_genre.php', {
    'genre' : genre,
    'app' : app
},
function(data) {
    $('#'+divID).html(data);
});

答案 3 :(得分:0)

大卫多尔沃德的回答捎带

 $.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);

            }
        });