& Значение не отображается с вызовом AJAX - PullRequest
0 голосов
/ 29 сентября 2010

Я работаю над отправкой значений в базу данных через 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.Символ & не является подстановочным, и только R является.Итак, как мне передать значения через AJAX, включая &, + и =?

Ответы [ 4 ]

1 голос
/ 29 сентября 2010

Вам нужно encodeURIComponent, чтобы иметь дело с символами, которые имеют особое значение в URI.

(или передать объект, содержащий пары ключ / значение, в jQuery вместо строки запроса String, которая у вас есть)

0 голосов
/ 29 сентября 2010

Спекуляция с ответом Дэвида Дорварда

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

            }
        });
0 голосов
/ 29 сентября 2010

У меня никогда не было проблем со специальными символами, использующими

$.post('apps/PVElectronicPressKitAdmin/ajax_add_album_genre.php', {
    'genre' : genre,
    'app' : app
},
function(data) {
    $('#'+divID).html(data);
});
0 голосов
/ 29 сентября 2010

Используйте

$.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 и приложение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...