В качестве альтернативы вы можете использовать DOMParser .
Текст номера ошибки находится внутри div
с идентификатором container
и является первым <p>
, поэтому вы можете получить этот элемент, используя querySelector .
Ваш код будет выглядеть как
error: function (data) {
let parser = new DOMParser();
let doc = parser.parseFromString(data.responseText, "text/html");
alert(doc.querySelector("#container p").innerHTML);
}
let parser = new DOMParser();
var data = "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n<title>Database Error</title>\n<style type=\"text/css\">\n\n::selection{ background-color: #E13300; color: white; }\n::moz-selection{ background-color: #E13300; color: white; }\n::webkit-selection{ background-color: #E13300; color: white; }\n\nbody {\n\tbackground-color: #fff;\n\tmargin: 40px;\n\tfont: 13px/20px normal Helvetica, Arial, sans-serif;\n\tcolor: #4F5155;\n}\n\na {\n\tcolor: #003399;\n\tbackground-color: transparent;\n\tfont-weight: normal;\n}\n\nh1 {\n\tcolor: #444;\n\tbackground-color: transparent;\n\tborder-bottom: 1px solid #D0D0D0;\n\tfont-size: 19px;\n\tfont-weight: normal;\n\tmargin: 0 0 14px 0;\n\tpadding: 14px 15px 10px 15px;\n}\n\ncode {\n\tfont-family: Consolas, Monaco, Courier New, Courier, monospace;\n\tfont-size: 12px;\n\tbackground-color: #f9f9f9;\n\tborder: 1px solid #D0D0D0;\n\tcolor: #002166;\n\tdisplay: block;\n\tmargin: 14px 0 14px 0;\n\tpadding: 12px 10px 12px 10px;\n}\n\n#container {\n\tmargin: 10px;\n\tborder: 1px solid #D0D0D0;\n\t-webkit-box-shadow: 0 0 8px #D0D0D0;\n}\n\np {\n\tmargin: 12px 15px 12px 15px;\n}\n</style>\n</head>\n<body>\n\t<div id=\"container\">\n\t\t<h1>A Database Error Occurred</h1>\n\t\t<p>Error Number: 1062</p><p>Duplicate entry '60-2017' for key 'PRIMARY'</p><p>INSERT INTO `table` (`f1`, `f2`, `f3`, `f4`) VALUES ('60', '2017', '60_2017_Permohonan_d2030211.pdf', '2018-06-24 16:43:49')</p><p>Filename: /Applications/XAMPP/xamppfiles/htdocs/fol/models/rek/m_rek.php</p><p>Line Number: 47</p>\t</div>\n</body>\n</html>";
let doc = parser.parseFromString(data, "text/html");
console.log(doc.querySelector("#container p").innerHTML);