php处理来自backbone.js的请求

时间:2011-06-03 09:58:53

标签: php backbone.js put

当backbone.js将模型保存到服务器时,它会发送PUT请求。我如何用PHP处理这些?如何获取随put请求发送的内容,并将它们存储在数据库中?

3 个答案:

答案 0 :(得分:8)

这是另一个例子:

$ values = json_decode(file_get_contents('php:// input'),true);

  • 这将导致一个数组(json_decode()的第二个参数)$ values,其中包含你的key =>接收的json数据的值对。

答案 1 :(得分:5)

请参阅php文档以获取示例http://php.net/manual/en/features.file-upload.put-method.php

来自php.net:

<?php
/* PUT data comes in on the stdin stream */
$putdata = fopen("php://input", "r");

/* Open a file for writing */
$fp = fopen("myputfile.ext", "w");

/* Read the data 1 KB at a time
   and write to the file */
while ($data = fread($putdata, 1024))
  fwrite($fp, $data);

/* Close the streams */
fclose($fp);
fclose($putdata);
?>

当您想将数据存储到数据库时,可以将fwrite部分保留。

答案 2 :(得分:4)

Backbone.emulateHTTP = true;
如果您想使用不支持Backbones的默认REST / HTTP方法的旧Web服务器,您可以选择打开Backbone.emulateHTTP。设置此选项将使用HTTP POST伪造PUT和DELETE请求,并在_method参数下传递它们。设置此选项还将使用true方法设置X-HTTP-Method-Override标头。

之后,在您的模型中实施您自己的sync功能:http://documentcloud.github.com/backbone/#Sync