rpa*_*bon 7 javascript php mysql backbone.js
我有一个带有一些默认值和url的backbone.js模型:
var Box = Backbone.Model.extend({
url: "./save.php",
defaults: {
x: 0,
y: 0,
w: 1,
h: 1
}
});
Run Code Online (Sandbox Code Playgroud)
然后我有一个这个模型的实例,我继续保存它:
var box = new Box({ x:10, y:10, w:200, h:200 });
box.save();
Run Code Online (Sandbox Code Playgroud)
现在我想使用PHP脚本"save.php"将此模型保存到MySQL数据库中,它是这样的:
<?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!";
Run Code Online (Sandbox Code Playgroud)
我尝试过阅读很多教程,但是我无法将这个简单的模型保存到工作中.为什么我的代码不起作用?关于如何解决这个问题的任何想法?
谢谢
编辑:快速解决方案
在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'};
Run Code Online (Sandbox Code Playgroud)
并存储在数据库中:
mysql_query("INSERT INTO boxes(id, x, y, w, h)
VALUES('', '$x', '$y', '$w', '$h') ")
or die(mysql_error());
Run Code Online (Sandbox Code Playgroud)
以这种方式,将在表"框"中插入一行,其中包含骨干模型框的每个属性的信息.在这种情况下,服务器请求方法是POST,表"boxes"中的id设置为自动递增.
nik*_*shr 18
Backbone基于REST API:在将模型保存/更新到服务器时,Backbone会根据POST我们的PUT请求将其序列化为请求体中的JSON .来自Backbone.sync文档
使用默认实现,当Backbone.sync发送保存模型的请求时,其属性将被传递,序列化为JSON,并在HTTP主体中使用content-type application/json发送.
这意味着你必须要服务器端
这样的事情应该让你开始
$request_method = strtolower($_SERVER['REQUEST_METHOD']);
$data = null;
switch ($request_method) {
case 'post':
case 'put':
$data = json_decode(file_get_contents('php://input'));
break;
}
// print_r($data);
// note that mysql_* functions are deprecated
// http://php.net/manual/en/function.mysql-query.php
// inserting with a PDO object, assuming an auto incremented id
$sql = "INSERT INTO boxes (x, y, w, h) VALUES(?, ?, ?, ?)";
$sth = $dbh->prepare($sql);
$sth->execute(array(
$data->x,
$data->y,
$data->w,
$data->h
));
$id = $dbh->lastInsertId();
Run Code Online (Sandbox Code Playgroud)
查看此页面,以便在PHP中更全面地实现REST API http://www.gen-x-design.com/archives/create-a-rest-api-with-php/
| 归档时间: |
|
| 查看次数: |
9248 次 |
| 最近记录: |