【发布时间】:2012-07-08 07:08:35
【问题描述】:
我有一个标准的 javascript ajax 调用,我将数据设置为 json 数据。
$.ajax({
type: "POST",
url: BaseUrl + "User/Login",
//url: BaseUrl + "User/Limit/1/2",
data: '{"apiKey":"c7089786-7e3a-462c-a620-d85031f0c826","appIDGiven":"200","userName":"matt2","password":"pass"}',
success: function(data){
console.log(data);
},
error: function(request){
console.log(request);
},
});
我试图在 php $_POST["data"] 中获取数据,这不起作用。
但是,data: 'test={"apiKey":"c7089786-7e3a-462c-a620-d85031f0c826","appIDGiven":"200","userName":"matt2","password":"pass"}' 有效。
我想知道是不是我的框架或类似的东西阻止了$_POST["data"] 工作,或者这根本不可能?或者还有什么我可以用来获取这些数据的东西吗?
编辑:
所以框架 YII 和扩展 Restfullyii 有一种方法可以使用一行来获取它正在使用的数据 返回 json_decode(file_get_contents("php://input"), true);
无需 data= 或 {data: 即可获取所有数据:但是它似乎返回了一个数组,因此我访问了我的属性,例如 $data["userName"] ,其中真正的 json 对象应该是 $data- >[“用户名”]。如果我在这方面有任何错误,请纠正我在这种情况下我得到数组是因为我真的在发送一个 json 字符串吗?与 json 对象相比?
编辑 x2:
所以 php 将其设为 assoc 数组,因为它向 json_decode 发送 true ..
【问题讨论】:
标签: php javascript ajax