.ajax не будет POST, но получит без проблем - PullRequest
1 голос
/ 01 декабря 2009

Я пытаюсь отправить форму с помощью функции jauery .ajax (). Кажется, это должно быть довольно просто, но по какой-то причине я не могу заставить тип: «POST» работать правильно. Использование типа: «GET» работает без проблем, но «POST», похоже, фактически не публикует что-либо в моем принимающем PHP-скрипте. Когда я делаю print_r ($ _ POST), он возвращает мне пустой массив. Я попытался использовать оба типа ввода «отправить» и «кнопка» на входе формы, но это, похоже, ничего не меняет. Есть идеи, почему это не работает?

Ps - на этой странице более 1 формы.

Редактировать для уточнения
Если я использую print_r ($ _ GET), когда использую тип: «GET», он выводит все правильные данные, но если я изменяю опцию .ajax на тип: «POST» и пытаюсь print_r ($ _ POST), он показывает пустой массив без содержимого.

Js код:

var dataString = 'reply_text='+ test + '&post_id=' + post_id ;

$.ajax({
  type: "POST",
  url: "process.php",
  data: dataString,
  cache: false
  });
  return false;

Код формы:

<form action="" method="post">
<textarea id="textboxcontent" name="reply_text"/>
<input type="submit" name="reply_submit" value="submit comment"/>
</form>

Ответы [ 4 ]

2 голосов
/ 01 декабря 2009

Это может работать лучше:

var text = ...
var post_id = ...

$.ajax({
    type: 'POST',
    url: 'process.php',
    data: { reply_text: text, post_id: post_id }
});
0 голосов
/ 10 апреля 2018
var formData = {
    'test': $('input[name=text]').val(),
    'post_id': $('input[name=post_id]').val()
};

// process the form
$.ajax({
    type: 'POST', // define the type of HTTP verb we want to use (POST for our form)
    url: 'process.php', // the url where we want to POST
    data: formData, // our data object
    dataType: 'html', // what type of data do we expect back from the server
    encode: true,
    success: function(updatedTable) {
        //alert(updatedTable);
        $('div#tableHolder').html(updatedTable);
    }
})
0 голосов
/ 01 декабря 2009

Если вы хотите опубликовать формы с помощью AJAX, я предлагаю jQuery Form Plugin , который делает это красиво и ненавязчиво.

0 голосов
/ 01 декабря 2009

Как вы подключаете свое мероприятие? Вы уверены, что это сработало? Пытался поставить предупреждение или что-то там, чтобы убедиться?

Как выглядит dataString? type: 'POST' достаточно, чтобы сделать ответный вызов ajax постом, поэтому ваши данные могут передаваться некорректно.

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