0

これは私が使用しているサンプルモデルです:

var UserModel = Backbone.Model.extend({
    urlRoot: 'json.php',
    defaults: {
        name: '',
        email: ''
    }
});
var user = new UserModel();
// Notice that we haven't set an `id`

console.log(user.isNew());
var userDetails = {
    name: 'Thomas',
    email: 'thomasalwyndavis@gmail.com'
};
// Because we have not set a `id` the server will call
// POST /user with a payload of {name:'Thomas', email: 'thomasalwyndavis@gmail.com'}
// The server should save the data and return a response containing the new `id`
user.save(userDetails, {
    success: function (user) {
        console.log(user.toJSON());
    }
})

サーバー側 (apache) では、php を使用してデータを取得しています。これは明らかに新しいモデルを保存していますが、$_POST 変数は空で、データは次の場所に表示されています。

     file_get_contents("php://input");

このデータが表示される $_POST 変数はありますか? おそらく POST ですが、Backbone はクエリ文字列を作成していないため、$_POST 変数が空になります。サーバー側では、json データをチェックして、それが新しいオブジェクトであるかどうか (ID の存在によって) を確認できますが、WAMP で put と post の違いを見分ける方法はありますか? おそらく、ブラウザーは put さえサポートしておらず、とにかく投稿するだけでしょうか?

4

0 に答える 0