Вставьте Backbone.js в базу данных MySQL

У меня есть модель backbone.js с некоторыми значениями по умолчанию и URL-адресом:

var Box = Backbone.Model.extend({
    url: "./save.php",
    defaults: {
        x: 0,
        y: 0,
        w: 1,
        h: 1
    }
});

Затем у меня есть экземпляр этой модели, и я продолжаю ее сохранять:

var box = new Box({ x:10, y:10, w:200, h:200 });
box.save();

Теперь я хочу сохранить эту модель в База данных MySQL, использующая PHP-скрипт "save.php", выглядит следующим образом:

<?php 
    include('connection.php');

    $id = $_POST['cid'];
    $x = $_POST['x'];
    $y = $_POST['y'];
    $w = $_POST['w'];
    $h = $_POST['h'];

    mysql_query("INSERT INTO boxes (id, x, y, w, h)
                         VALUES('$id', '$x', '$y', '$w', '$h')
                       ") or die(mysql_error());
?>
echo "Data Inserted!";

Я пробовал читать много руководств, но не могу заставить работать эту простую модель. Почему мой код не работает? Любые идеи о том, как это можно решить?

Спасибо

РЕДАКТИРОВАТЬ: БЫСТРОЕ РЕШЕНИЕ

В скрипте php правильный способ получения информации из отправленного объекта JSON выглядит следующим образом:

$box_data = json_decode(file_get_contents('php://input'));
$x = $box_data->{'x'};
$y = $box_data->{'y'};
$w = $box_data->{'w'};
$h = $box_data->{'h'};

И сохранить в базе данных:

mysql_query("INSERT INTO boxes(id, x, y, w, h)
            VALUES('', '$x', '$y', '$w', '$h') ") 
or die(mysql_error());

В Таким образом, в таблицу «ящики» будет вставлена ​​одна строка с информацией о каждом из атрибутов ящика базовой модели. Метод запроса к серверу в этом случае — POST, а идентификатор в таблице «ящики» настроен на автоинкремент.

7
задан rpabon 7 June 2012 в 13:52
поделиться