我有这段响应Ajax请求的代码片段。当它被jQuery.parseJSON解析时,它无法正常工作。
$fm_edit ->select_self($result['success']);
print_r(json_encode($fm_edit));
die();
我已经通过http://jsonlint.com/运行输出,并且JSON无效,因为print_r将string(0) ""
添加到输出的前面。我已经尝试按照推荐的方式回显输出,但由于json对象不是字符串,因此失败了。
我该如何纠正?
答案 0 :(得分:0)
尝试
echo json_encode($fm_edit)
答案 1 :(得分:0)
您正在使用print_r
来打印变量(数组)内容。为了使它更完美print_r
也返回变量类型。 echo
是解决方案,因为它只打印变量内容。
答案 2 :(得分:0)
因此,对于网站中完全不相关的部分中的相同对象类型的var转储,这是一个问题。
不知怎的,它一直在拦截AJAX请求(我假设因为它还处理$ _POST数据,因为它先前挂接到应用程序中)并转出(用于不相关的调试目的)一个实际上完全相同的对象,而不是完全存在有效的json,当它返回到JS层而不是预期的响应时,它完全误导了我。
我要添加一些条件来在发生AJAX请求时禁用第二个进程并且应该解决它。