Javascript PHP错误报告抑制AJAX错误

Javascript PHP错误报告抑制AJAX错误,javascript,php,ajax,logging,Javascript,Php,Ajax,Logging,我工作的开发服务器关闭了PHP错误日志记录,因此当我启动一个新项目时,我添加了自己的日志记录配置: error_reporting(E_ERROR); ini_set('display_errors','On'); ini_set('error_log','/var/tmp/don-errors.log'); 在这个集合中,我的ajax/php小部件工作得非常好。 当我删除日志设置时,我得到一个parseerror和著名的: SyntaxError:JSON.parse:JSON数据的第1行第

我工作的开发服务器关闭了PHP错误日志记录,因此当我启动一个新项目时,我添加了自己的日志记录配置:

error_reporting(E_ERROR);
ini_set('display_errors','On');
ini_set('error_log','/var/tmp/don-errors.log');
在这个集合中,我的ajax/php小部件工作得非常好。 当我删除日志设置时,我得到一个parseerror和著名的:

SyntaxError:JSON.parse:JSON数据的第1行第1列出现意外字符

如果我只添加后面的第一行:

error_reporting(E_ERROR);
ajax JSON错误消失了,一切都恢复了正常工作。
我一直在搜索所有我能找到的导致JSON错误的原因,但这是另一个问题。我很好奇为什么登录时PHP日志中没有PHP错误,或者控制台中没有JSON错误,但删除日志后,浏览器控制台中会出现JSON错误,我的小部件就会消失。
我不想在登录时发布我的小部件只是为了消除错误。

下面是作为响应发送回JavaScript的JSON字符串

{"status":"success","data":{"dialogTargetId":"dialog-target-2969-212430","dialogId":"dialog-2969-212430","addBtnId":"addbtn-2969-212430","prodId":"2969","poId":"212430","dialogHtml":"<div class=\"buyer-note-dialog\" id=\"dialog-2969-212430\" title=\"Buyer Product Notes\"><div class=\"buyer-note-input\">\n\t\t<textarea name=\"buyer-note-text\" id=\"input-2969-212430\" product_id=\"2969\" po_id=\"212430\" class=\"buyer-note-text\" cols=\"35\" rows=\"3\"><\/textarea>\n\t\t<br><div style=\"padding-top: 5px\"><button id=\"addbtn-2969-212430\" emp-id=\"198\" textarea_id=\"input-2969-212430\" po_id=\"212430\" product_id=\"2969\">Add Note<\/button>\n\t\t<\/div><\/div><div id=\"output-box-2969-212430\" class=\"buyer-note-output-box\"><\/div><\/div>"}}
{“status”:“success”,“data”:{“dialogTargetId”:“dialog-target-2969-212430”,“dialogId”:“dialog-2969-212430”,“addBtnId”:“addbtn-2969-212430”,“prodId”:“2969”,“poId”:“212430”,“dialogHtml”:“\n\t\n\t\t
添加注释\n\t\t”}
所以不要尝试解析json。看看json,看看是什么php错误/警告导致了解析错误<代码>{“foo”:“bar”}是有效的json
PHP警告:blah blahblah{“foo”:“bar”}
根本无效。在调用
JSON.parse()时使用
try/catch
。如果它得到一个错误,这意味着在JSON之前记录了一个错误。我找到了导致JSON错误的原因,我有一个额外的数组元素,我正在传递给视图解析器。但是我仍然想知道为什么PHP日志调用让它工作。所以不要尝试解析json。看看json,看看是什么php错误/警告导致了解析错误<代码>{“foo”:“bar”}
是有效的json
PHP警告:blah blahblah{“foo”:“bar”}
根本无效。在调用
JSON.parse()时使用
try/catch
。如果它得到一个错误,这意味着在JSON之前记录了一个错误。我找到了导致JSON错误的原因,我有一个额外的数组元素,我正在传递给视图解析器。但是我仍然想知道为什么PHP日志调用让它工作。