本文实例分析了dwz+thinkphp开发时遇到的问题。分享给大家供大家参考,具体如下:
目前我用的 thinkphp 版本是 3.1.3
j-ui dwz 版本好像是 1.4
当我在项目开发的过程中 遇到了这么的一个问题,
当我我在后台执行ajax操作的时候,success,error不能成功的返回提示的信息,而是返回object object这样的一条错误提示。
研究了很久发现是版本的问题,新改版的thinkphp对dwz中的ajax技术中的一点不符合版本的问题
所以我就 更改 action.class.php 中 ajaxreturn函数 为
protected function ajaxreturn($data,$type='') {
if(func_num_args()>2) {// 兼容3.0之前用法
$args = func_get_args();
array_shift($args);
$info = array();
$info['data'] = $data;
$info['info'] = array_shift($args);
$info['status'] = array_shift($args);
$data = $info;
$type = $args?array_shift($args):'';
}
//
//较原版增加部分--
$data['statuscode'] = 1; //
$data['navtabid'] = $_request['navtabid'];//
$data['rel'] = $_request['rel']; //
$data['callbacktype'] = $_request['callbacktype']; //
$data['forwardurl'] = $_request['forwardurl']; //
$data['confirmmsg'] = $_request['confirmmsg'];//
$data['message'] = $data['info']; //840206883@qq.com
//较原版增加部分--
//
if(empty($type)) $type = c('default_ajax_return');
switch (strtoupper($type)){
case 'json' :
// 返回json数据格式到客户端 包含状态信息
header('content-type:application/json; charset=utf-8');
exit(json_encode($data));
case 'xml' :
// 返回xml格式数据
header('content-type:text/xml; charset=utf-8');
exit(xml_encode($data));
case 'jsonp':
// 返回json数据格式到客户端 包含状态信息
header('content-type:application/json; charset=utf-8');
$handler = isset($_get[c('var_jsonp_handler')]) ? $_get[c('var_jsonp_handler')] : c('default_jsonp_handler');
exit($handler.'('.json_encode($data).');');
case 'eval' :
// 返回可执行的js脚本
header('content-type:text/html; charset=utf-8');
exit($data);
default :
// 用于扩展其他返回格式数据
tag('ajax_return',$data);
}
}
更多关于thinkphp相关内容感兴趣的读者可查看本站专题:《thinkphp入门教程》、《thinkphp模板操作技巧总结》、《thinkphp常用方法总结》、《codeigniter入门教程》、《ci(codeigniter)框架进阶教程》、《zend framework框架入门教程》、《smarty模板入门基础教程》及《php模板技术总结》。
希望本文所述对大家基于thinkphp框架的php程序设计有所帮助。
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:)!