Rest 在oracle jet web服务调用中获取服务器响应代码

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"

我正在从Oracle jet ViewModel调用REST Web服务。服务器响应与我预期的一样,但是如何捕获服务器响应(如果服务器响应类似于400422)。我尝试了以下几行代码,但似乎不起作用

               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它工作了。问题是我完全忽略了第一个论点(认为它是可选的)。当我提供一个空对象作为参数并使用回调作为第二个参数时,它起了作用。