从json正确地返回json到ajax

时间:2014-10-09 08:44:12

标签: php ajax json

我有这段响应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对象不是字符串,因此失败了。

我该如何纠正?

3 个答案:

答案 0 :(得分:0)

尝试

echo json_encode($fm_edit)

答案 1 :(得分:0)

您正在使用print_r来打印变量(数组)内容。为了使它更完美print_r也返回变量类型。 echo是解决方案,因为它只打印变量内容。

答案 2 :(得分:0)

因此,对于网站中完全不相关的部分中的相同对象类型的var转储,这是一个问题。

不知怎的,它一直在拦截AJAX请求(我假设因为它还处理$ _POST数据,因为它先前挂接到应用程序中)并转出(用于不相关的调试目的)一个实际上完全相同的对象,而不是完全存在有效的json,当它返回到JS层而不是预期的响应时,它完全误导了我。

我要添加一些条件来在发生AJAX请求时禁用第二个进程并且应该解决它。