您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

die(json_encode(. 没返回

2024/4/7 12:29:47发布31次查看
我的ajax代码
$.post('{:u(safeinfo/txpassadd)}', $(#txadd).serialize(), function(data) { alert(ok); ...
php代码:
tip(100, '交易密码不能与登录密码一样!');
function tip($code, $msg) { $arr['code'] = iconv('gb2312', 'utf-8', $code); $arr['msg'] = iconv('gb2312', 'utf-8', $msg); //die(json_encode($arr)); die(var_json_encode($arr)); //cjq}function var_json_encode($var){ $_var = var_urlencode($var); $_str = json_encode($_var); return urldecode($_str); }
结果页面没有弹出那个alert(ok),说明ajax没返回?
改成这样也不行:
function tip($code, $msg) { $arr['code'] = iconv('gb2312', 'utf-8', $code); $arr['msg'] = iconv('gb2312', 'utf-8', $msg); die(json_encode($arr,json_unescaped_unicode)); //cjq}
这是为什么呢?
回复讨论(解决方案) 这样也不行:(
function tip($code, $msg) { $arr['code'] = $code; $arr['msg'] = $msg; die(json_encode($arr,json_unescaped_unicode)); //cjq}
$_var = var_urlencode($var);
这个函数是在哪里定义的?
$_var = var_urlencode($var);
这个函数是在哪里定义的?
/** * 对变量或者数据进行 urlencode 编码, 使得在进行 json_encode 的时候进行编码的不是中文, 防 止 json_encode 失败 * @access private * @param $var * @return array */ function var_urlencode($var) { if (empty ( $var )) { return false; } if (is_array ( $var )) { foreach ( $var as $k => $v ) { if (is_scalar ( $v )) {//if 用来处理不是数组的情况 $var [$k] = urlencode ( $v ); } else {//else 用来处理数组 $var [$k] = var_urlencode ( $v ); } } } else {//用来处理数组 $var = urlencode ( $var ); } return $var; }
输出 utf-8 编码的
{code:100,msg:交易密码不能与登录密码一样!}
应该是其他方面的问题
你在浏览器中查看源文件检查一下
输出 utf-8 编码的
{code:100,msg:交易密码不能与登录密码一样!}
应该是其他方面的问题
你在浏览器中查看源文件检查一下
页面源代码:
... 交易密码 为了您的账户安全,提现需要输入交易密码,请确保与登录密码不同。 设置取消设置
找回密码取消找回
...
当前页面显示的是safeinfo-jiaoyimima.html的内容,
safeinfo-jiaoyimima.html的内容如下:
无标题文档 *交易密码 交易密码不能为空! *重复密码 重复密码不能为空!

怎么改代码都是只弹出了alert(ok1); 没有弹出alert(ok2); 郁闷了几天了!请指教,谢谢!
我要你看的是:
模板中的 $.post('{:u(safeinfo/txpassadd)}', $(#txadd).serialize(), function(data) {
在浏览器源码中是什么?
我要你看的是:
模板中的 $.post('{:u(safeinfo/txpassadd)}', $(#txadd).serialize(), function(data) {
在浏览器源码中是什么?
我查看当前页面源代码就是楼上的第一段代码,但我不知道怎么在firefox中查看模板中的 $.post('{:u(safeinfo/txpassadd)}', $(#txadd).serialize(), function(data) { 在浏览器的源码。
百思不得其解,困惑啊!
师者,所以传道、授业、解惑也,谁是我的老师呢?
你为什么要省略在浏览器中看到的代码呢?
$.post('{:u(safeinfo/txpassadd)}', $(#txadd).serialize(), function(data) { alert(ok); ...},json);
jquery里指明返回参数类型
你为什么要省略在浏览器中看到的代码呢?
安全设置 - 桂林金融宝众投借贷平台

这是全部代码,谢谢!
你这个对吗?
既没有看到 id=txadd 的标记,已没有看到 $.post(.... 代码
你这个对吗?
既没有看到 id=txadd 的标记,已没有看到 $.post(.... 代码
这些代码在 safeinfo-jiaoyimima.html 里,safeinfo-jiaoyimima.html的代码在5楼下半部分。
请注意楼上代码里的这段代码:

既然是在框架里,那你就贴出框架里看到的 html 代码
#5 的只是模板文件,如果是直接使用肯定是不行的
既然是在框架里,那你就贴出框架里看到的 html 代码
#5 的只是模板文件,如果是直接使用肯定是不行的
看到的框架代码是:
无标题文档 *交易密码 交易密码不能为空! *重复密码 重复密码不能为空!

敬爱的@xuzuning 老师,您好,怎么没下文啦?
点击提交,只弹出了alert(ok1); 没有弹出alert(ok2); 这到底是为什么呢?
safeinfo-txpassadd.html 代码?
safeinfo-txpassadd.html 代码?
谢谢回复!没有这个文件,只有safeinfoaction.class.php:
class safeinfoaction extends baseaction { public function _initialize() { parent::_initialize(); $this->time = $_session['e_time']; $webdata = m('web')->where('id=1')->find(); $this->meta = array( 'title' => '安全设置 - ' . $webdata['webtitle'], 'keywords' => '安全设置|' . $webdata['webkeyword'], 'description' => strip_tags($webdata['new_notice']), ); } const expired_time = 120; //显示安全信息页面 public function index() { import('@.org.string'); $user = m(user_info); $user1 = m(user); $auth = m('auth_info'); $list = $user->where(uid= . $_session[uid])->find(); $list1 = $user1->where(id= . $_session[uid])->find(); $data['uid'] = $_session['uid']; $data['auth_type'] = 1; $list2 = $auth->where($data)->find(); $this->as[user] = $list; $this->as[user1] = $list1; $this->as[user2] = $list2; $this->assign($this->as); $this->display(); } //提现密码添加 public function txpassadd() { $user = m('user'); if (i('txpass') == || i('rtxpass') == ) { tip('100', '请输入完整信息'); } if (i('txpass') != i('rtxpass')) { tip(3, '两次输入的密码不一致!'); } $map['id'] = $this->uid; $u = $user->where($map)->find(); if (empty($u)) { tip(100, '未知用户!'); } $data['u_trade_password'] = i('rtxpass', '', 'fix_pass'); if ($data['u_trade_password'] == $u['u_password']) { tip(100, '交易密码不能与登录密码一样!'); } $status = $user->data($data)->where('id=' . $_session['uid'])->save(); if ($status) { tip(10000, '提交成功!'); } else { tip(2, '设置失败,请重试!'); } }
safeinfo-txpassadd.html 经 url 重写后实际执行的是
safeinfoaction::txpassadd 方法
其中用到 tip 函数,不知你是如何定义的
你那 $.post 方法有 json 声明,所以 tip 函数应输出 json 格式串
而 $.post 的回调函数的参数 data 已被解析成 js 对象了
你再 var data1=eval((+data+)); 就有蛇足了,应去掉
你得先把你php代码调试好才行
tip 函数应写成这样 function tip($code, $msg) { $arr['code'] = iconv('gb2312', 'utf-8', $code); $arr['msg'] = iconv('gb2312', 'utf-8', $msg); die(json_encode($arr));// die(var_json_encode($arr)); //cjq}
对于 tip(100, '交易密码不能与登录密码一样!');
得 {code:100,msg:\u4ea4\u6613\u5bc6\u7801\u4e0d\u80fd\u4e0e\u767b\u5f55\u5bc6\u7801\u4e00\u6837\uff01}
如果写成 function tip($code, $msg) { $arr['code'] = iconv('gb2312', 'utf-8', $code); $arr['msg'] = iconv('gb2312', 'utf-8', $msg); // die(json_encode($arr)); die(var_json_encode($arr)); //cjq}
则 tip(100, '交易密码不能与登录密码一样!');
得 {code:100,msg:交易密码不能与登录密码一样!}
就错了!
tip 函数应写成这样 function tip($code, $msg) { $arr['code'] = iconv('gb2312', 'utf-8', $code); $arr['msg'] = iconv('gb2312', 'utf-8', $msg); die(json_encode($arr));}
谢谢!这样子确实有返回了,但是有个问题:
$(.tscg4).html(data.msg);
中data.msg的值变成浜ゆ
怎么变回:交易密码不能与登录密码一样! 呢?
请继续指教,十分感谢!
没道理呀,这要试试
function tip($code, $msg) { $arr['code'] = urlencode($code); $arr['msg'] = urlencode($msg); $s = json_encode($arr); die(urldecode($s);}

没道理呀,这要试试
function tip($code, $msg) { $arr['code'] = urlencode($code); $arr['msg'] = urlencode($msg); $s = json_encode($arr); die(urldecode($s);}

谢谢斑竹老大,试过了,这样子ajax就无法返回了,
点击提交,只弹出了alert(ok1); 没有弹出alert(ok2); 唉,这ajax的东东搞起来还真难搞!
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product