建议的返回类型,用于不返回任何内容的Web服务(使用jquery调用)

时间:2009-06-02 06:21:29

标签: javascript jquery ajax json

我有一些带有一些方法的Web服务,从技术上来说,它们在客户端上没有做太多的事情。我通过jquery / ajax调用它

建议的返回类型是什么,我通常会返回JSON ...但是如果它没有返回任何东西..我会返回一个布尔值吗?即true =成功...和false =错误??

有什么想法吗?

5 个答案:

答案 0 :(得分:3)

HTTP状态代码如何:

200 OK
500 Error

答案 1 :(得分:2)

如果它没有返回任何内容,您应该使用HTTP状态代码:

204 No Content
The server successfully processed the request, but is not returning any content.

HTTP状态代码也适用于其他用途,但请注意仅将其用于HTTP状态而非应用程序状态。

对于应用程序状态,您应该考虑使用标准JSON对象(或SOAP或XML或您正在使用的任何格式)。这也是Stack Overflow的工作方式,您可以通过在其上运行HTTP调试器来验证它:

{ "response": true, "data" : <data>, "message" : <message> }

理想情况下,response属性应该为true或false,以保持客户端上的逻辑简单。除非发生错误,否则消息通常通常为空,在这种情况下它将包含错误消息。

就HTTP状态代码而言,它们应仅用于指示HTTP,而不是应用程序状态代码。

5xx服务器错误

500 Internal Server Error
501 Not Implemented
502 Bad Gateway
503 Service Unavailable
504 Gateway Timeout
505 HTTP Version Not Supported
506 Variant Also Negotiates (RFC 2295 )
507 Insufficient Storage (WebDAV) (RFC 4918 )
509 Bandwidth Limit Exceeded (Apache bw/limited extension)
510 Not Extended (RFC 2774 )

2xx成功

200 OK
201 Created
202 Accepted
203 Non-Authoritative Information (since HTTP/1.1)
204 No Content
205 Reset Content
206 Partial Content
207 Multi-Status (WebDAV)

答案 2 :(得分:1)

您可以使用SOAP路由并以XML格式返回状态。

这几乎可以解析。

像:

<m:IsYourMethodSuccessful xmlns:m="Some-Namespace-URI”> 
    <return>true</return> 
</m:IsYourMethodSuccessful> 

这里的好处是,如果将来您决定需要添加客户端反馈,则可以返回详细的异常信息。

或者,因为你已经解析了json:

{ success : true }

{ success : false, exception : { ... } }

答案 3 :(得分:0)

我只会返回一个布尔值 - 最简单的东西可以工作。

答案 4 :(得分:0)

这取决于方法。对于更新和创建,我通常返回实体的服务器ID,以及创建或更新的时间。这有助于客户端在本地管理实体状态(如果它们正在存储它们)。