Skip to content

Commit 65c52c0

Browse files
committed
MAGETWO-60982: AJAX calls does not process error responses
1 parent d8a0b12 commit 65c52c0

File tree

1 file changed

+45
-2
lines changed
  • app/code/Magento/Ui/view/base/web/js/form

1 file changed

+45
-2
lines changed

app/code/Magento/Ui/view/base/web/js/form/client.js

Lines changed: 45 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,9 @@ define([
77
'jquery',
88
'underscore',
99
'mageUtils',
10-
'uiClass'
11-
], function ($, _, utils, Class) {
10+
'uiClass',
11+
'mage/translate'
12+
], function ($, _, utils, Class, $t) {
1213
'use strict';
1314

1415
/**
@@ -73,6 +74,48 @@ define([
7374
*/
7475
complete: function () {
7576
$('body').trigger('processStop');
77+
},
78+
79+
/**
80+
* Error callback.
81+
*/
82+
error: function (request, type, errorThrown) {
83+
var message;
84+
85+
switch (type) {
86+
case 'timeout':
87+
message = $t('The request timed out.');
88+
break;
89+
case 'notmodified':
90+
message = $t('The request was not modified but was not retrieved from the cache.');
91+
break;
92+
case 'parsererror':
93+
message = $t('XML/Json format is bad.');
94+
break;
95+
case 'abort':
96+
message = $t('The request was aborted by the server.');
97+
break;
98+
default:
99+
message = $t('HTTP Error') + ' (' + request.status + ' ' + request.statusText + ').';
100+
}
101+
102+
$('body').notification('clear');
103+
$('body').notification('add', {
104+
error: true,
105+
message: message,
106+
107+
/**
108+
* Insert method.
109+
*
110+
* @param {String} msg
111+
*/
112+
insertMethod: function (msg) {
113+
var $wrapper = $('<div/>').addClass(messagesClass).html(msg);
114+
115+
$('.page-main-actions', selectorPrefix).after($wrapper);
116+
}
117+
});
118+
76119
}
77120
});
78121

0 commit comments

Comments
 (0)