PUT,使用JS应用程序删除(spine.js)

时间:2012-04-10 16:12:04

标签: ajax node.js express spine.js

我正在为我的spine.js应用程序编写node.js(express)中的一个小api。 在数据库中获取和创建新对象非常有效。但是在删除/编辑时我现在就遇到了问题。 每个对象都获得由JS应用程序创建的个人ID。 在数据库中,每个条目也都有一个唯一的密钥。

当我调用object.destroy()时,我可以看到发送到我服务器的ajax请求。但作为id的参数,我总是拥有应用程序给出的id。 但是为了删除/更新数据库中的东西,我需要存储在数据库中的密钥(在我的情况下是mongoDB) 那么如何将正确的ID发送到服务器或在服务器端识别正确的条目??

1 个答案:

答案 0 :(得分:1)

为什么不在创建模型时发回正确的ID,如Spine documentation中所示。

  

创建新的Page记录后,Spine会发送POST请求   to / pages包含以下内容:

  POST /pages HTTP/1.1 Host: spine-rails3.herokuapp.com Accept:
  application/json, text/javascript, */*; q=0.01 Content-Type:
  application/json; charset=UTF-8 X-Requested-With: XMLHttpRequest
  Content-Length: 65

  {"name":"Dummy page","id":"EEAF4B17-5F1D-4C06-B535-D9B58D84142F"}
  

然后服务器应该回复这样的事情:

 HTTP/1.1 201 Created Content-Type: application/json; charset=utf-8
 Location: http://spine-rails3.herokuapp.com/pages/196 Content-Length:
 28 Connection: keep-alive

 {"name":"Dummy page","id":1}