JQuery не отправляет данные моей формы - PullRequest
0 голосов
/ 11 августа 2009

Приведенный ниже код не возвращает никаких ошибок, и я могу сделать так, чтобы он возвращал данные из process.php, однако для process.php я проверяю «сообщение» следующим образом:

<?PHP
if (isset($_REQUEST['message'])) {
    //return a json string
}
?>

Вот мой код jquery ниже, dataString показывает "message = WHATEVER I TYPE IN TEXTAREA", когда я использую alert (dataString); но он действует так, как будто он не отправляется в сценарий processing.php, сейчас я зашел в тупик

Если я зайду на www.url.com/processing.php?message= что бы то ни было, тогда скрипт php покажет, что вы ожидаете.

Также кажется, что часть ajax работает, потому что она вернет ответ скрипту, если у меня есть скрипт php, который выводит что-то без включения его в оператор if

В чем может быть проблема?

<script>
var dataString = 'comment='+ message;
//alert (dataString);

// send message to PHP for processing!
$.ajax({
    type: "POST",
    url: "process.php",
    data: dataString,
    dataType: "json",
    success: function (data) {
    // do stuff here
    }

});
</script>

1 Ответ

2 голосов
/ 11 августа 2009

РЕДАКТИРОВАТЬ: проблема здесь:

var dataString = 'message=' + message;

Должно быть:

var dataString = 'comment=' + message;

Попробуйте:

<?php
if (isset($_POST['comment'])) {
    //return a json string
}
?>

Также убедитесь, что атрибут «name» является именно «комментарием»:

var dataString = 'comment=' + message;

Обратите внимание, что лучше использовать array_key_exists для проверки, установлено ли что-либо в одном из суперглобальных элементов:

<?php
if (array_key_exists("comment",$_POST)) {
    //return a json string
}
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...