下面的代码不会返回任何错误,我可以让它从process.php返回数据但是在process.php上我正在检查“message”,如下所示:
<?PHP
if (isset($_REQUEST['message'])) {
//return a json string
}
?>
下面是我的jquery代码,当我使用alert(dataString)时,dataString显示“message = WHATEVER I TYPE IN THE TEXTAREA”;但它的行为就像它没有被发送到processing.php脚本,我现在处于死胡同
如果我去www.url.com/processing.php?message=whatever那么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>
答案 0 :(得分:2)
var dataString = 'message=' + message;
应该是:
var dataString = 'comment=' + message;
尝试:
<?php
if (isset($_POST['comment'])) {
//return a json string
}
?>
还要确保“name”属性正好是“comment”:
var dataString = 'comment=' + message;
请注意,使用array_key_exists
检查是否在其中一个超全球中设置了某些内容更为漂亮:
<?php
if (array_key_exists("comment",$_POST)) {
//return a json string
}
?>