我有一个简单的Web应用程序。我已经创建了服务器REST API,因此它将返回带有HTTP代码和JSON(或XML)对象的响应,其中包含更多详细信息:应用程序代码(特定于方案,描述发生了什么情况的消息等)。
因此,例如,如果客户端发送注册请求且密码太短,则响应HTTP代码将为400(错误请求),而响应数据将为:{appCode : 1020 , message : "Password is too short"}
。
在jQuery中,我使用“ ajax”函数创建POST请求。当服务器返回的内容不同于HTTP代码200(确定)时,jQuery将其定义为“错误”。
错误处理程序可以获取3个参数:jqXHR,textStatus,errorThrown。我如何获取服务器在错误情况下发送的JSON对象?
编辑:
1)这是我的JS代码:
function register (userName, password) {
var postData = {};
postData["userName"] = userName;
postData["password"] = password;
$.ajax ({
dataType: "json",
type: "POST",
url: "<server>/rest/register",
data: postData,
success: function(data) {
showResultSucceed(data);
hideWaitingDone();
},
error: function (jqXHR, textStatus, errorThrown) {
showResultFailed(jqXHR.responseText);
hideWaitingFail();
}
})
}
2)在查看Firebug控制台时,响应似乎为空。当使用REST测试工具调用相同的请求时,我得到一个带有JSON对象的响应。
我究竟做错了什么?
在解决这个问题上花了很多时间后,我发现了问题。
该页面在URL下:www.mydomain.com/register
REST api在URL下:server.mydomain.com/rest
似乎这种POST并不是那么简单。
我将搜索更多信息以更好地理解此问题(如果您有更多信息,请与我分享)。
将REST API放在www.mydomain.com/rest下时-一切正常。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句