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);
}
}
答案 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
适用于,包括。