将json数据发送到php web服务

时间:2012-03-27 06:23:56

标签: php jquery json web-services

我正在向服务器发送此电话:

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我已经检查了关于这个主题的上一篇文章,但仍然有问题。

2 个答案:

答案 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);
?>