Я пытаюсь заполнить таблицу данных jQuery с помощью AJAX. Параметр, который я передаю в веб-сервис, является путем к файлу, и я продолжаю получать нераспознанную ошибку escape-последовательности. Я пытался убежать от некоторых персонажей безрезультатно:
Unrecognized escape sequence. (15): { \\u0027Path\\u0027: \\u0027C:\\\\TEMP\\\\DEV\\\\IDC\\\\2391\\\\GBS_IDC_WS_20190508.log\\u0027}\
Это обработчик нажатия кнопки «Отправить»:
$(document).on('click', '#btnSubmit', function (ev) {
var wsUrl = "services/lv.asmx/ProcessLogFile";
var wsParams = "{ 'Path': '" + escapeHtml(logPath) + "'}";
// var wsParams = '{ "Path": "' + logPath + '"}';
populateTable(wsUrl, wsParams, tblContacts);
return false;
});
function populateTable(ws_url, parameters, table) {
debugger
$.ajax({
type: "POST",
dataType: "json",
contentType: "application/json; charset=utf-8",
url: ws_url,
cache: false,
data: parameters,
}).done(function (result) {
table.clear().draw();
if (!result || result.d === "") {
}
else {
jResult = JSON.parse(result.d);
table.rows.add(jResult).draw();
}
}).fail(function (jqXHR, textStatus, errorThrown) {
alert(textStatus + ' - ' + errorThrown + '\n' + jqXHR.responseText);
});
}
Это скрипт, который я нашел в Интернете, чтобы избежать некоторых символов:
var entityMap = {
'&': '&',
'<': '<',
'>': '>',
'"': '"',
"'": ''',
'/': '/',
'`': '`',
'=': '='
};
function escapeHtml (string) {
return String(string).replace(/[&<>"'`=\/]/g, function (s) {
return entityMap[s];
});
}