Существует ли ограничение на количество данных, которые можно отправить на сервер с помощью функции jquery AJAX? - PullRequest
0 голосов
/ 22 мая 2011

Я использую jquery для отправки формы, и по какой-то странной причине в файл PHP отправляются только первые 5 переменных.Код выглядит следующим образом:

$("form#alcs_submit").submit(function() {  
    var game_one = $('#game_one').val();
    var game_two = $('#game_two').val();
    var game_three = $('#game_three').val();
    var game_four = $('#game_four').val();
    var game_five = $('#game_five').val();  
    var game_six = $('#game_six').val();
    var game_seven = $('#game_seven').val();

    $.ajax({  
        type: "POST",  
        url: "mlb_alcs_edit.php",  
        data: "game_one="+ game_one +"& game_two="+ game_two +"& game_three="+ game_three +"& game_four="+ game_four +"& game_five="+ game_five +"& game_six="+ game_six +"& game_seven="+ game_seven,
        success: function()
        {   
            alert(game_six);
            $('#bracket').load('mlb_alcs_changed.php?action=saved');
        } 
     });  
    return false;  
});

Есть предложения?

Спасибо,

Копье

1 Ответ

0 голосов
/ 22 мая 2011

Если одно из значений содержит специальный символ URL, это может привести к разрыву строки запроса.URL должен кодировать эти значения перед передачей их в строку запроса, например:

var game_one = encodeURIComponent($('#game_one').val());

Кроме того, удалите пробелы перед амперсандами:

"& game_two=" + game_two должно быть "&game_two=" + game_two

Кроме того, вы можете позволить jQuery обрабатывать сериализацию ваших данных POST в пары ключ / значение, передавая объект вместо строки:

var gameData = 
{
    game_one = $('#game_one').val(),
    game_two = $('#game_two').val(),
    game_three = $('#game_three').val(),
    game_four = $('#game_four').val(),
    game_five = $('#game_five').val(),  
    game_six = $('#game_six').val(),
    game_seven = $('#game_seven').val()
}

$.ajax({  
    type: "POST",  
    url: "mlb_alcs_edit.php",  
    data: gameData,
    success: function() { ... }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...