在json_encode()中包含一个文件

时间:2012-02-10 10:24:27

标签: php jquery

Thsi似乎不起作用:

$msg="Your changes have been saved successfully";

$view=include('application/view/admin/cms/_slides-current.php');

$return_array=array('success'=>true, 'msg'=>$msg, 'view'=>$view);

echo json_encode($return_array);

需要将数组传递回jQuery ajax成功回调。有谁知道应该怎么做?

包含文件只是一个HTML模板。此HTML模板将插入到页面中。

除了使用json_encode()做我想做的事情之外还有什么方法吗?

success: function(result){
    alert(result.msg);

    if(result.success == true)
    {
        $('#slides').html(result.view);
    }
}

3 个答案:

答案 0 :(得分:3)

include是一个语句,而不是一个函数(忽略function.include.php部分)。它不会将解析后的结果返回到您的$view变量,尽管该文件将包含在json_encode的正上方。

您应该使用ob_start以mihneasime描述的方式捕获视图的评估结果:

ob_start();
include 'application/view/admin/cms/_slides-current.php';
$view = ob_get_clean();
ob_end_flush();

答案 1 :(得分:2)

ob_start();
include 'application/view/admin/cms/_slides-current.php';
$view = ob_get_clean();

应该像joar所说的那样做。

答案 2 :(得分:0)

使用fopen和朋友来阅读文件。 include适用于,包括