我正在向服务器发送此电话:
var Message = {};
Message['islands'] = '1-15-13';
Message['newMessageText'] = 'this is test message';
$.ajax({
url: "sendnote.php",
type: "POST",
data: Message,
dataType: "json",
contentType: "charset=utf-8",
success: function (data) {
alert(data["result"]);
},
error: function (data) {
alert(data["result"]);
}
});
和服务器(sendnote.php)我有
print_r($_POST);
只是为了检查我收到了什么,但在Firebug中查看响应后我发现这个数组是空的。
我在发送数据时做错了什么?
提前致谢!
PS我已经检查了关于这个主题的上一篇文章,但仍然有问题。
答案 0 :(得分:1)
print_r($_POST)
未提供JSON响应。你甚至不知道在不使用AJAX时请求的实际回复是什么?
尝试echo json_encode($_POST);
- 这应打印出有效的JSON。
或者我可能会补充一点,你可能忘记了PHP的<?php ?>
开始和结束标记
答案 1 :(得分:1)
问题是contentType
试试这个:
的jQuery
$(document).ready(function(){
var Message = {};
Message['islands'] = "1-15-13";
Message['newMessageText'] = 'this is test message';
$.ajax({
url: "sendnote.php",
type: "POST",
data: Message,
dataType: "json",
success:function(data) {
alert("Islands: "+data.islands+", Message: "+data.newMessageText);
},
error:function(data) {
alert('error');
} });
});
PHP
<?php
echo json_encode($_POST);
?>