PHP接收json
我正在使用knockout,这是我的ajax代码:PHP接收json,php,ajax,json,knockout.js,Php,Ajax,Json,Knockout.js,我正在使用knockout,这是我的ajax代码: save: function() { $.ajax({ url:"http://localhost/loyalty/welcome/json/", type: "post", data: ko.toJSON(this), contentType: "app
save: function() {
$.ajax({
url:"http://localhost/loyalty/welcome/json/",
type: "post",
data: ko.toJSON(this),
contentType: "application/json",
success: function (result) { alert(result) }
});
}
使用firebug,我可以看到json消息发送正确,问题是如何在PHP上接收它,发送的消息的名称是什么
我用的是CodeIgniter
提前感谢您的帮助。它将位于变量
$\u POST['key']
中,其中'key'
是JSON对象中的键值。它将位于变量$\u POST['key']
中,其中'key'
是JSON对象中的键值
save: function() {
$.ajax({
url:"http://localhost/loyalty/welcome/json/",
type: "post",
data: $(this).serialize()/*Where this is an instance of the form change with appropriate selector such as #loginForm*/,
contentType: "application/json",
success: function (result) { alert(result) }
});
}
在php文件中使用$\u POST获取数据
我想您也在使用jquery,$是jquery函数。现在,这些数据可以在post superglobal中获得。注意:您不需要使用json通过ajax函数发送数据。数据以序列化数组格式传递,如:field1=value1&field2=value2等
但是,如果必须使用json(坦率地说这是不必要的),请使用数据:“json=“+ko.toJSON(form)
服务器端数据=json_decode($_POST['json'])
在php文件中使用$\u POST获取数据
我想您也在使用jquery,$是jquery函数。现在,这些数据可以在post superglobal中获得。注意:您不需要使用json通过ajax函数发送数据。数据以序列化数组格式传递,如:field1=value1&field2=value2等
但是,如果必须使用json(坦率地说这是不必要的),请使用数据:“json=“+ko.toJSON(form)
服务器端数据=json_decode($_POST['json']) **这正是发布json的方式**
//index.php
$(文档).ready(函数(){
obj={}
obj.name=“sam”
obj.value=“12345”
$.ajax({
url:“json.php”,
类型:“post”,
资料来源:obj,
数据类型:“json”,
成功:功能(结果){
警报(result.name);
}
});
});
//json.php,,发布的数据作为数组接收,因此我们需要将其转换为//json\u encode,以再次转换为json
**这正是作为json方式发布的方式**
//index.php
$(文档).ready(函数(){
obj={}
obj.name=“sam”
obj.value=“12345”
$.ajax({
url:“json.php”,
类型:“post”,
资料来源:obj,
数据类型:“json”,
成功:功能(结果){
警报(result.name);
}
});
});
//json.php,,发布的数据作为数组接收,因此我们需要将其转换为//json\u encode,以再次转换为json
解决方案是
contentType: "application/json",
来自ajax调用
=)解决方案是
contentType: "application/json",
来自ajax调用
=)Hi…我收到了这个JSON:[{“name”:“JoÃo”,“isOnTwitter”:false}],并且使用$\u POST['name']不会返回任何内容。您的JSON在一个数组中。您可能希望它位于一个只有{}
环绕的裸对象中。否则它是一个数组,您需要给它一个名称。类似于{“jsonval”:ko.toJSON(this)}
的表单数据不是使用json传递的。HTTP有自己的数据传输格式。使用form.serialize()如何仅返回JSON而不是数组?@SomeshMukherjee jQuery ajax函数中的数据值可以通过如下所列的对象格式传递。序列化是另一种方法,也是有效的…我收到了这个JSON:[{“name”:“JoÃo”,“isOnTwitter”:false}],使用$_POST['name']什么也不返回。你的JSON在一个数组中。您可能希望它位于一个只有{}
环绕的裸对象中。否则它是一个数组,您需要给它一个名称。类似于{“jsonval”:ko.toJSON(this)}
的表单数据不是使用json传递的。HTTP有自己的数据传输格式。使用form.serialize()如何仅返回JSON而不是数组?@SomeshMukherjee jQuery ajax函数中的数据值可以通过如下所列的对象格式传递。序列化是另一种方法,也是有效的