我的jQuery fu是新的,所以请原谅,如果这个问题确实如此。jQuery ajax成功与错误方法args颠倒了,为什么?
的jQuery AJAX文档显示错误和成功的定义如下:
error(jqXHR, textStatus, errorThrown)
success(data, textStatus, jqXHR)
这是冲水我有点一致性明智的,默认情况下,服务器端的我返回状态(200,401,404,等。)以及JSON编码响应,这可能是json错误或成功字符串,数组,对象等。
基本上正在发生的事情是,在成功接收JSON字符串(CoffeeScript的)
success: (data) ->
$('#status').html(data)
我可以直接打印JSON响应字符串,这是混乱的,为等效错误版本需要我去解析JSON字符串并访问数据对象的responseText属性:
error: (data) ->
$('#status').html(jParse(data.responseText))
那么,如何才能获得客户端来镜像服务器端的一致性呢?即用json服务器端进行响应,并知道我需要在客户端解析/访问对象属性。
感谢
+1,好点,但我相信这是已经发生。例如,我的服务器端401是“未经授权(asJson(i18n('not authorized')))”,其中“未经授权”是本地化的消息,等等,等等,您需要登录才能查看Foo公司内容。 – virtualeyes
刚刚看过萤火虫,没有骰子,玩,我正在使用的框架,发送一个401默认的“未经授权”的文本,所以看起来,服务器端的数据是返回响应,而不是状态本身 – virtualeyes