您了解 CRUD 的内部工作原理吗?从PHP的角度来看,它可以像在每个REST调用可能性上拥有一个switch语句一样简单。
在此处查看此页面: http://www.codethinked.com/building-epic-win-with-backbone-js
跳到标题为“将其连接到服务器”的部分。
您的 PHP 脚本只需要满足这些要求即可。
一个简单的原型代码:
switch($_SERVER['REQUEST_METHOD']){
case 'POST':
// create new item
break;
case 'GET':
// get item(s)
break;
case 'PUT':
// update item
break;
case 'DELETE':
// delete item
break;
}
您还需要按如下方式设置文件(以处理访问不存在的URL):.htaccess
# Turn on rewrite engine and redirect broken requests to index
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L,QSA]
</IfModule>
像这样的URL并不真实存在,这就是为什么你需要路由。http://mysite.com/1
编辑:如果您打算在HTML表单中使用PUT或删除,请忘记它。在撰写本文时,它尚未在HTML5中被接受,并且几乎所有浏览器都不支持此功能。我对此的“修复”是用于请求,以及所有其他(本身和)。例:GET
GET
POST
POST
PUT
DELETE
<form action="POST" action="/users/5">
<input type="hidden" name="method" value="DELETE"/>
<button>Delete User #5</button>
</form>
但是,这不是AJAX的问题,因为显然您可以将XMLHttpRequest方法设置为所需的任何内容而不会出现问题。