#javascript #internet-explorer #syntax #syntax-error
#javascript #internet-explorer #синтаксис #синтаксическая ошибка
Вопрос:
У меня проблема, мой код корректно работает во всех браузерах, кроме IE. IE возвращает мне синтаксическую ошибку SCRIPT1002. Эта строка: if(data.responseText.match(/Произошла.*/)) { В следующем коде:
localRequest: function(period, adapter, adapterType, errText){
let _this = this;
let iRow = rowInfo.iRow;
let aboutRow = rowInfo.aboutRow;
queryState = $.ajax({
type: 'get',
url: 'api/ds/cs',
dataType: 'json',
data: {
period: period,
adapter: adapter,
adapterType: adapterType,
errText: errText,
subject: iRow.value,
body: aboutRow.value
},
}).done(function (data) {
}).fail(function(data){
**if(data.responseText.match(/Произошла.*/)) {**
let errText = data.responseText.split(')',)
let errNumb = errText[0].split('(',)
alert('Не удалось сформировать проишествие: ' errText[1] ' №' errNumb[1])
} else {
alert(data.responseText);
}
})
},
Комментарии:
1.
.split(')',)
… что там делает эта конечная запятая? Это ваша проблема2. Она удаляет текст ошибки из ответа
3. нет, эта запятая ничего не вырезает из любого места… эта запятая является синтаксической ошибкой (в IE)… вызов функции like
fn(a,)
допускается современными браузерами, но она синтаксически неверна, и IE сообщает вам, что это неправильно — делайте.split(')')
вместо этого и радуйтесь — или.split(')', 1)
, если вы хотите, ограничьтесь одним разделением4. Спасибо! Я попробую другую функцию для ввода текста внутри ()
5. а??? Что?? просто удалите
,
..вау, вам не нужна новая функция, вам нужно написать синтаксически правильный код