如何将由ajax HTTP POST创建的资源的ID返回给客户端

问题描述:

我想知道是否有标准化的方式来获取对象/资源的身份(id/hash/whatever)通过POST在服务器上创建。有一些HTTP头可以设置吗?如何将由ajax HTTP POST创建的资源的ID返回给客户端

我现在正在使用jquery,而我所做的是将创建的对象的id输出到一个隐藏的html div中。在客户端获得响应之后,我解析html并检索id。这对我来说似乎有些尴尬。有任何想法吗?

+0

试图用JSON响应,然后解析JSON在客户端。 – sled 2011-05-13 08:42:32

+0

你能否给我们提供你的javascript请求的片段?很高兴看到你在做什么,因为它肯定是尴尬:) – mekwall 2011-05-13 08:53:19

+0

想想你想通过$('#result')提交一些数据到服务器的场景。load('ajax/test.html #container',{title:'myNewObj'}); 如何获得新创建的对象的ID? – stoefln 2011-05-13 11:15:08

位置标题专为此目的而设计。当您创建资源时,原始服务器应返回201,并且位置标题应包含新创建的资源的URL。

参见:http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.30

+0

正是我所需要的! – stoefln 2011-05-13 11:09:24

也许你可以返回一个JSON列表对象,指向id值的id键和包含要倒入div的原始HTML的rawHTML键。然后你解析键值的JSON响应。

+0

是的,这是一种做法。但是你不能使用像$('#mydiv')这样酷的jquery功能。load(...)。 – stoefln 2011-05-13 11:11:50