OracleジェットViewModelからREST Webserviceを呼び出しています。サーバーの応答は私が期待したとおりですが、サーバーの応答を捕捉する方法(サーバーの応答が400,422の場合)。次のコード行を試しましたが、動作していないようです。oracle jet Webサービス・コールでサーバー応答コードを取得する
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または何でも)であれば、表示さユーザーにエラーメッセージを表示します(これはバリデーターを使用して行うことができます)。
すでにドキュメントを参照していただければ幸いです。https://docs.oracle.com/middleware/jet320/jet/reference-jet/oj.Model.html#save また動作しません。何が起こっていないのですか? – Koshinae
はい、私はドキュメントといくつかのブログに相談しましたが、POSTリクエストに対してサーバーレスポンスがどのように処理されたかのシナリオを見つけることができませんでした。基本的に、サーバーが422エラーで応答したとき、私はJet VMで応答をキャッチしてコンソールに表示する必要があります。これは動作しないものです。 ojMode.save()を使用してsave()を実行すると、データをサーバー側に保存できますが、モニターできません。つまり、クライアント側では、サーバーが正常に応答したかどうかのヒントはありません。 –
'oj.Model.save()'には2つの引数があり、設定しようとするものは2つ目の引数に属します。それを 'user.save({}、{/ *あなたのオブジェクト* /})'と呼びましょう。 – Koshinae