Rest 在oracle jet web服务调用中获取服务器响应代码
我正在从Oracle jet ViewModel调用REST Web服务。服务器响应与我预期的一样,但是如何捕获服务器响应(如果服务器响应类似于400422)。我尝试了以下几行代码,但似乎不起作用Rest 在oracle jet web服务调用中获取服务器响应代码,rest,oracle-jet,Rest,Oracle Jet,我正在从Oracle jet ViewModel调用REST Web服务。服务器响应与我预期的一样,但是如何捕获服务器响应(如果服务器响应类似于400422)。我尝试了以下几行代码,但似乎不起作用 self.User = oj.Model.extend({ urlRoot : self.resourceUrl, idAttribute : "userId"
self.User = oj.Model.extend({
urlRoot : self.resourceUrl,
idAttribute : "userId"
});
var user = new self.User();
user.save(
{
success: function(user, response, options) {
console.log("response "+response);
},
error: function(jqXHR, textStatus, errorThrown) {
console.log("error thrwos "+errorThrown);
console.log("status "+textStatus);
}
});
我只想做的是,如果服务器响应成功,向用户显示一条成功消息并导航到下一页,如果响应是错误(400或422或其他),则向用户显示一条错误消息(这可以使用验证器完成)。查看JSDocs for model.save 您将看到,您可以定义一个回调函数来处理save调用返回的错误
这将与@Koshinae在其上述关于选项的评论中所说的一致。我希望您已经咨询了文档:还有什么不起作用?发生了什么(没有发生)?是的,我查阅了文档和一些博客,但没有找到服务器响应如何处理POST请求的场景。基本上,当服务器返回422错误时,我应该能够在Jet VM中捕获响应并在控制台中打印。这是不起作用的。当我使用ojMode.save()保存()时,我可以在服务器端保存数据,但无法监视它。也就是说,在客户端,不知道服务器是否成功响应。
oj.Model.save()
有两个参数,您尝试设置的属于第二个参数。尝试以user.save({},{/*您的对象*/})的身份调用它。
@Koshinae它工作了。问题是我完全忽略了第一个论点(认为它是可选的)。当我提供一个空对象作为参数并使用回调作为第二个参数时,它起了作用。