1

プロトタイプ用に pebble.js をいじり始めたところです。サーバーに接続し、ユーザー データ (ログイン情報) をペブルからサーバーに送信してハンドシェイクし、サーバーからペブルにデータを送り返す必要があります。プロトタイピングが簡単なので、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で解決できました。同じ問題を抱えている人向け:「タイプ」が「json」に設定されている場合、ajax ライブラリは応答が json であることを期待するだけでなく、投稿されるデータも json として投稿されます。このデータを PHP の配列に収集する場合は、次のコードを使用します。

json_decode(file_get_contents('php://input'), true); 
4

0 に答える 0