Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从ajax错误处理中获取单独的字符串_Javascript_Php_Ajax_Codeigniter - Fatal编程技术网

Javascript 从ajax错误处理中获取单独的字符串

Javascript 从ajax错误处理中获取单独的字符串,javascript,php,ajax,codeigniter,Javascript,Php,Ajax,Codeigniter,我有响应文本,从Ajax错误捕获。响应文本 error: function (data) { alert(data.responseText); } data.responseText中的值= "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n<title>Database Error</title>\n<style type=\"tex

我有响应文本,从Ajax错误捕获。响应文本

error: function (data) {
             alert(data.responseText);
            }
data.responseText中的值=

"<!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>"
如何从上面的文本检索文本错误号:1062


谢谢你

希望这个片段能对你有所帮助

var responseData=\n\n\n数据库错误\n\n\n::选择{背景色:E13300;颜色:白色;}\n::moz选择{背景色:E13300;颜色:白色;}\n::webkit选择{背景色:E13300;颜色:白色;}\n\n正文{\n\t背景颜色:fff;\n\t背景颜色:40px;\n\t字体:13px/20px普通直升机,Arial,无衬线;\n\t颜色:4F5155;\n}\n}\n\n背景颜色:003399;\n\t背景颜色:透明;\n\t字体重量:正常;\n}\n\n\nh1{\n\t颜色:444;\n\t背景颜色:透明;\n\t订单底部:1px实心D0D0D0D0;\n\t字体大小:19px;\n\t字体重量:正常;\n\t边缘:0 0 0 14px 0;\n\t添加:14px 15px 10px 15px;\n}\n\n代码{\n\t字体系列:康索拉斯,摩纳哥,Courier New,Courier,monospace;\n\t字体大小:12px;\n\t背景颜色:f9f9f9;\n\t顺序:1px实心D0D0D0;\n\t颜色:002166;\n\t显示:块;\n\t边缘:14px 0 14px 0;\n\t添加:12px 10px 12px 10px;\n}\t容器{\n\t顺序:10px\t顺序:1px实心D00;\t盒;\n\tBox\d00\d00\n\np{\n\t边缘:12px 15px 12px 15px;\n}\n\n\n\t\n\t\t\t发生数据库错误\n\t\t>错误号:1062

键“主”的重复条目“60-2017”

插入“表”`f1`、`f2`、`f3`、`f4`值'60'、`2017'、`60 ` U 2017 ` Permohonan ` U d2030211.pdf'、`2018-06-24 16:43:49'

文件名:/Applications/XAMPP/xapfiles/htdocs/fol/models/rek/php\p>>\t\n\n; console.log$responseData.findcontainer,p.first.text;应如下所示:

您可以通过使用javascript函数exec获得它

工作演示:


更多信息:

作为您可能使用的替代方案

错误号的文本位于id为的div容器中,是第一个元素,因此可以使用

你的代码看起来像

error: function (data) {
    let parser = new DOMParser();
    let doc = parser.parseFromString(data.responseText, "text/html");
    alert(doc.querySelector("#container p").innerHTML);
}
让parser=newdomparser; var data=\n\n\n数据库错误\n\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\t边框:40px;\n\t字体:13px/20px普通直升机,Arial,sans serif;\n\t颜色:4f5;\n\t\n\na{\n\t颜色:003399;\n\t背景颜色:透明;\n\t字体重量:正常;\n}\n\n\nh1{\n\t背景颜色:444;\n\t背景颜色:透明;\n\t订单底部:1px实心D0D0D0D0;\n\t字体大小:19px;\n\t字体重量:正常;\n\t边缘:0 0 0 14px 0;\n\t添加:14px 15px 10px 15px;\n\n\n{\n\t字体系列:康索拉斯,摩纳哥,Courier New,Courier,monospace;\n\t字体大小:12px;\n\t背景颜色:f9f9f9;\n\t顺序:1px实心D0D0D0;\n\t颜色:002166;\n\t显示:块;\n\t边缘:14px 0 14px 0;\n\t添加:12px 10px 12px 10px;\n}\t容器{\n\t顺序:10px\t顺序:1px实心D00;\t盒;\n\tBox\d00\d00\n\np{\n\t边缘:12px 15px 12px 15px;\n}\n\n\n\t\n\t\t\t发生数据库错误\n\t\t>错误号:1062

键“主”的重复条目“60-2017”

插入“表”`f1`、`f2`、`f3`、`f4`值'60'、`2017'、`60 ` U 2017 ` Permohonan ` U d2030211.pdf'、`2018-06-24 16:43:49'

文件名:/Applications/XAMPP/xapfiles/htdocs/fol/models/rek/php\p>>\t\n\n; 让doc=parser.parseFromStringdata,text/html;
console.logdoc.querySelectorcontainer p.innerHTML;您是否可以控制如何从服务器创建/发送该错误消息?看起来您正在编写Ajax API脚本,就像它是一个网页而不是一个API。向我们展示该代码您在db表中有唯一的索引约束,但您正在尝试插入具有相同值e的新行存在行。检查m_rek模型的第47行。@Tpojka问题与如何进行查询无关,而是从错误消息中提取子字符串。@LGSon我认为这是错误的方法-很明显,代码没有检查最重要的事情之一,这就是插入前正确的数据检查。应该首先解决这个问题位置。输出的重要性要低得多。有人对这个答案投了反对票,以此来表示自己的沮丧,因为谁对这个答案投了反对票我从来没有说过接受我的答案,如果我的答案真的很糟糕,我可以把它从这里删除,告诉他
error: function (data) {
    let parser = new DOMParser();
    let doc = parser.parseFromString(data.responseText, "text/html");
    alert(doc.querySelector("#container p").innerHTML);
}