0

POSTリクエストをしようとしています。ここに私のコード:

        var myModel = new MydModel({
            content: "ciao" 
        });
        console.log(myModel.get("content")); // "ciao"
        myModel.save();

ネットワーク アクティビティを見ると、次のようになります。

応答部分{id:0, content:"", ……}

ヘッダー部分:Request Payload {"content":"ciao"}

ここに私のモデル:

define([], function () {
    var MyModel = Backbone.Model.extend({

        url: function url ()  
        {
            return "http://localhost/users";
        }
    });

    return MyModel;
});

それは私の問題ですか、それともサーバー部分にありますか?

4

2 に答える 2

2

送信/受信 vs 要求/応答

  • サーバーはリクエストを受け取り、レスポンスを送信します
  • クライアントはリクエストを送信し、レスポンスを受け取ります

要するに

  • {id:0, content:"", ……}(応答)が間違っている場合、それはあなたのサーバーです
  • {"content":"asdasdsa"}(リクエストが)間違っている場合、それはあなたのクライアントです
于 2012-05-17T16:13:02.903 に答える
0

"Backbone-client" が Apache サーバーに送信する JSON ペイロードの受信にはほとんど問題はありません。

次のように、サーバー側の入力 (PHP の場合は「php://input」) から JSON ペイロードを手動で解析するだけです。

if($_SERVER['REQUEST_METHOD'] == 'PUT' || $_SERVER['REQUEST_METHOD'] == 'POST') {  
  $postStr = file_get_contents("php://input");
  //json_decode throws error or returns null if input is invalid json
  try {
    $json = json_decode($postStr, true);
    if(empty($json)) { 
      throw new Exception("Not valid json");
    }

  //must not be json, try query str instead 
  } catch(Errfor $e) { 
    $postVars = parse_str($postStr);
    foreach($postVars as $key=>$data) {
      $_POST[$key] = $data;
    }
  }
}

ここで見つけることができる完全な説明: http://colinbookman.com/2014/04/08/php-puts-posts-and-backbone-js/

于 2014-07-15T10:24:53.747 に答える