我刚开始用pebble.js填充原型。我必须连接到服务器并将用户数据从pebble(登录信息)发送到服务器进行握手,并将数据从服务器发送回卵石。我正在使用pebble.js,因为它很容易进行原型设计。
现在我正在使用ajax库(http://developer.getpebble.com/docs/pebblejs/#ajax)来设置连接。我有以下代码:
ajax(
{
url: URL,
method: 'post',
type: 'json',
data: {
auth : 'test'
}
},
function(data) {
// Success!
console.log(JSON.stringify(data));
},
function(error) {
// Failure!
console.log('no response');
}
);
在服务器上的PHP中,我通过apache_request_headers()获取完整的头信息;并使用echo json_encode(apache_request_headers())将其发送到卵石;
这会产生console.log(JSON.stringify(data))
的输出{"Host":"192.168.0.113","Content-Type":"application/json","Accept":"*/*","Connection":"keep-alive","Cookie":"v2ci_session=55MmpPmzb2cvBWiq3VNgneHexYzBtIFr46Ycb94s2KNKwmnz%2FStJq3euLpUSuBmbsKmKou2915ZR5Cp%2FA7xXnK7FO5EHcnem3Xi6gLpAJPXCF51sQxVQn%2BP1fAmlDqEzSnZEVkbhAO3LkZzALdnjzUc2SPyRCdVx70xAnkohQVH%2BuaU7qZtlCtYwJ7MYQqwa1%2BXuPfw9Vb7vgduYqoWMB%2FVIab5uDPe1KnIxZ08reU1PHVTWXcXXyGCEwmYfCYDkXZSIH%2FcnM%2B4oKAu3kEalGX9jxEVvC6VKz4mAdg7O5Q4Ns%2BEKyTR5VqrpisfZcY2VWOX8ipjCuYMTTosY9Lm%2F0qSpU4P%2B2ObuXCbsJIYviK2EsQqj6%2BWNo0L3DEK6L2N7","User-Agent":"PebbleApp/20141016231206 CFNetwork/711.1.12 Darwin/14.0.0","Accept-Language":"nl-nl","Accept-Encoding":"gzip, deflate","Content-Length":"6"}
正如您所见,请求中没有数据发送。
任何人都知道为什么没有数据与请求一起发送?
我能够通过pebblejs的github解决它。对于有同样问题的人: 当'type'设置为'json'时,ajax库不仅期望响应为json,而且发布的数据也将发布为json。如果要在PHP中使用数组收集此数据,请使用以下代码:
json_decode(file_get_contents('php://input'), true);