bre*_*njt 18 javascript php backbone.js
我一直在研究backbone.js,我似乎无法弄清楚如何让它与php通信以保存模型数据.它发送请求,但如何捕获该请求,无论是"创建","更新","读取","删除"等.
谢谢
jmk*_*142 15
您可以考虑的另一个选项是使用预先打包的RESTful框架进行滚动,该框架具有内置的所有必要功能来执行Backbone服务器查询.我个人最喜欢的是Josh Lockhart的SlimPHP框架.
一些简单的示例代码(一旦你有SlimPHP设置)用于你的Backbone调用看起来像这样.
$app->get('/user', function() use ($app) {
// See if session is set, get user info as array
if (isset($_SESSION['userID']) {
$user = // grab user with userID data from DB
}
// Respond to the get request with a json object
$response = $app->response;
$response['Content-Type'] = 'application/json';
$response->body(json_encode($user));
}
Run Code Online (Sandbox Code Playgroud)
这是一个将Backbone json转换为数组的POST示例.
// Middleware that detects type of data and converts it to something usable
$app->add('Slim_Middleware_ContentTypes'); // JSON to associative array
...
$app->post('/message', function() use ($app) {
$dataIn = $app->request()->getBody();
...
// Save to DB $dataIn['message'], $dataIn['author'], etc.
}
Run Code Online (Sandbox Code Playgroud)
这是一个使用一些参数的PUT示例.
$app->put('/user/:id', function($id) use ($app) {
// Find appropriate user from DB that has $id as ID
$dataIn = $app->request()->getBody();
// Save to DB $dataIn['name'], $dataIn['age'], etc.
}
Run Code Online (Sandbox Code Playgroud)
这是一个删除.
$app->delete('/message/:id', function($id) use ($app) {
// Find appropriate message from DB that has $id as ID
// Delete message with id of $id
}
Run Code Online (Sandbox Code Playgroud)
虽然这不是所有其他需要考虑的事情的详尽示例,但它应该让您了解已经存在的各种开放式解决方案供您使用.我个人喜欢Slim,因为它非常轻巧,简单,但它具有RESTful服务器所需的所有功能.非常适合原型设计.将它与数据库抽象层和其他一些工具相结合,您可以更快地制作任何您想要的东西.
您可以在这里看到一些其他示例代码:
这里有一些基于PHP的RESTful解决方案的链接:Framework List
backbone.js的模型使用特定的URL来获取和发送数据.你必须确保在那里有一个PHP脚本.
现在有两种可能性.
首先,该方法作为附加变量在$ _POST内发送.其次,您必须查找可以使用的已使用的请求方法(GET,POST,PUT,DELETE)$_SERVER['REQUEST_METHOD']
现在你可以使用简单的if-else或switch语句来处理请求并提供所需的数据,就像我认为json一样.
| 归档时间: |
|
| 查看次数: |
16549 次 |
| 最近记录: |