dwz+thinkphp提示框弹出的问题
发布网友
发布时间:2022-04-24 08:50
我来回答
共4个回答
热心网友
时间:2022-04-24 10:20
ThinkPHP 3.2.3 + DWZ
改造ThinkPHP Json返回数据增加dwz框架需要的数据
修改ThinkPHP/Library/Think/Controller.class.php ajaxReturn方法
在ajaxReturn 方法开始位置添加 如下代码
//=======================
//DWZ thinkPHP
//Author:www.yicix.com
//=======================
if($data['status'] == 1){$status = 200;}
if($data['status'] == 0){$status =300;}
$data['statusCode'] = $status;
$data['message'] = $data['info'];
$data['navTabId'] = $_REQUEST['navTabId'];
$data['callbackType'] = $_REQUEST['callbackType'];
$data['forwardUrl'] = $_REQUEST['forwardUrl'];
以上内容有http://www.yicix.com网站提供
热心网友
时间:2022-04-24 11:38
操作dwz要求返回返回的数据格式是json格式而不是你返回的$this->success ('新增成功!');这个。
Form标签上增加onsubmit="returnvalidateCallback(this, xxxAjaxDone)"
弹出款和Ajax表单提交后服务器端需要返回以下json代码:
{
"statusCode":"200", //200代表成功,300代表操作失败
"message":"操作成功", //提示状态
"navTabId":"",
"rel":"",
"callbackType":"closeCurrent",
"forwardUrl":""
}
你可以调用这个函数
public function ajax_Return($status,$message,$type="closeCurrent",$nav="",$for=""){
$arr=array(
"statusCode"=>$status,
"message"=>$message,
"navTabId"=>$nav,//刷新那个页面
"forwardUrl"=>$for,
"callbackType"=>$type//关闭页面closeCurrent代表关闭,为空就不关闭页面
);
return json_encode($arr);
}追问官方例子也是这么写的,我重新新建一个项目,然后把官方的例子全部拷过来也是一样的问题。
热心网友
时间:2022-04-24 13:12
因为你返回的数据不是json的数据格式
你在你的comment类写这个类
public function ajax($status="",$message="",$type="",$navTabId="",$rel="",$forwardUrl=""){
$arr=array(
"statusCode"=>$status,
"message"=>$message,
"rel"=>$rel,
"navTabId"=>$navTabId,
"forwardUrl"=>$forwardUrl,
"callbackType"=>$type,
);
return json_encode($arr);
}
在你调用的时候这样写就可以了
echo $this->ajax(200, "保存成功!!!","closeCurrent","","addstudentpage");