Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将json数据发送到php web服务_Php_Jquery_Json_Web Services - Fatal编程技术网

将json数据发送到php web服务

将json数据发送到php web服务,php,jquery,json,web-services,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", suc

我正在向服务器发送此呼叫:

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)上,我有

只是为了检查我是否收到任何东西,但在检查Firebug中的响应后,我看到这个数组是空的

发送数据时我做错了什么

提前谢谢

PS我已经查看了以前关于这个主题的帖子,但是仍然有问题。

print\r($\U post)
没有给出JSON响应。您知道不使用AJAX时请求的实际回复是什么样子吗

尝试
echo-json\u-encode($\u-POST)-这应该打印出一个有效的JSON


或者我可以补充一点,您可能忘记了PHP的
打开和关闭标记

问题在于内容类型

试试这个:

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



Hmm,您是如何获得数据[“结果”]?sendnote.php脚本是否还有其他未显示的内容?或者只是打印($\u POST)?当我运行代码时,我可以看到正在发布的数据。昆汀,你是对的,我也看到了,但在Firebug中,我看到我的$\u POST是空的。这就是问题所在。这就是为什么我刚刚打印了r($\u POST),我想他在检查Firebug中的ajax请求。但是,如果sendnote.php只是print\r($POST),我认为你是对的;Gohn67,你说得对。我正在查看Firebug中的$u帖子。我的代码中有$jsonresponse=json_encode($_POST)和其他创建json响应的代码。在客户端,我收到了JSON响应,这显然是空$u POST的结果。
$(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
    echo json_encode($_POST);
?>