我正在使用淘汰赛,这是我的ajax代码:
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
提前感谢您的帮助。
答案 0 :(得分:2)
它将在变量$_POST['key']
中,其中'key'
是JSON对象中的键值。
答案 1 :(得分:2)
**This is what exactly the way to post as json way**
//index.php
$(document).ready(function(){
obj = {}
obj.name = "sam"
obj.value = "12345"
$.ajax({
url:"json.php",
type: "post",
data :obj,
dataType:"json",
success: function (result) {
alert(result.name);
}
});
});
//json.php ,, the posted data is received as array ,, so we need to convert it as //json_encode to make as JSON again
<?php
$jsonReceiveData = json_encode($_POST);
echo $jsonReceiveData;
?>
答案 2 :(得分:0)
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文件中使用$ _POST来获取数据 我是assumin你也在使用jquery而$是jquery函数。现在这个数据可以在post superglobal中找到。注意:您不需要使用json通过ajax函数发送数据。数据以序列化数组格式传递,如:field1 = value1&amp; field2 = value2等...
但是如果你必须使用json,坦率地说这是不必要的,请使用数据:“json =”+ ko.toJSON(form)
在服务器端data = json_decode($ _ POST ['json']);
答案 3 :(得分:0)
解决方案是采取
contentType: "application/json",
来自ajax电话的。
=)