这样也不行:(function tip($code, $msg) {
$arr['code'] = $code;
$arr['msg'] = $msg; die(json_encode($arr,JSON_UNESCAPED_UNICODE)); //cjq
}
$arr['code'] = $code;
$arr['msg'] = $msg; die(json_encode($arr,JSON_UNESCAPED_UNICODE)); //cjq
}
这个函数是在哪里定义的?
* @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;
}
{"code":"100","msg":"<font color="red">交易密码不能与登录密码一样!</font>"}应该是其他方面的问题
你在浏览器中查看源文件检查一下
页面源代码:...
<div class="aqxx_con">
<div class="aqxx_header_con">
<ul>
<li class="aqxx_neixing">交易密码</li>
<li class="aqxx_zhuangtai">为了您的账户安全,提现需要输入交易密码,请确保与登录密码不同。</li>
<li class="aqxx_last">
<a href="javascript:void(0);" id="txshow1" class="jrb_but03">设置</a><a href="javascript:void(0);" id="txhide1" style="display:none" class="jrb_but03">取消设置</a>
</li>
</ul>
</div>
<div class="aqxx_con_xq" id="jiaoyimima02" style="display:none"><iframe src="/safeinfo-jiaoyimima.html" style="marginheight="0" marginwidth="0" frameborder="0" scrolling="no" width="400px" height="200px"" id="ifm" name="ifm" onload="javascript:dyniframesize('ifm');"></iframe></div>
<div class="aqxx_con_xq" id="jiaoyimima03" style="display:none"><iframe src="/safeinfo-jiaoyimima03.html" style="marginheight="0" marginwidth="0" frameborder="0" scrolling="no" width="400px" height="270px"" id="ifm" name="ifm" onload="javascript:dyniframesize('ifm');"></iframe></div>
<div class="aqxx_con_xq" id="jiaoyimima04" style="display:none"><iframe src="/safeinfo-jiaoyimima04.html" style="marginheight="0" marginwidth="0" frameborder="0" scrolling="no" width="400px" height="150px"" id="ifm" name="ifm" onload="javascript:dyniframesize('ifm');"></iframe></div>
<div class="aqxx_header_con" id="findpass" style="display:none">
<ul>
<li class="aqxx_neixing"> </li>
<li class="aqxx_zhuangtai"> </li>
<li class="aqxx_last">
<a href="javascript:void(0);" id="zhshow" class="jrb_but03">找回密码</a><a href="javascript:void(0);" id="zhhide" style="display:none" class="jrb_but03">取消找回</a>
</li>
</ul>
</div>
</div>
...
当前页面显示的是safeinfo-jiaoyimima.html的内容,
safeinfo-jiaoyimima.html的内容如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<link href="__PUBLIC__/frontend/css/user.css" rel="stylesheet" type="text/css" />
<link href="__PUBLIC__/frontend/css/base.css" rel="stylesheet" type="text/css" />
<script src="__PUBLIC__/frontend/js/jquery.js" type="text/javascript"></script>
<style type="text/css">
.wsz {
color:#a9a9a9
}
.sz {
color:#CCCCD5;
}
.smyz {
color:#a9a9a9;
display:none
}
.tscg {
display:none
}
</style>
</head><body style="background:#FFF">
<div class="aq_iframe">
<form action="{:U('Safeinfo/txpassadd')}" method="post" id="txadd">
<p>
<label for="username"><span style="color:#F00; margin-right:5px;">*</span>交易密码</label>
<input type="password" class="aqifm_srk" name="txpass" placeholder="6-12位字母、数字、符号"/>
<span class="tip_aq">
<font class="smyz txpass">交易密码不能为空!</font>
<font class="tscg4"></font>
</span>
<p>
<label for="username"><span style="color:#F00; margin-right:5px;">*</span>重复密码</label>
<input type="password" class="aqifm_srk" name="rtxpass" placeholder="请再次输入您的交易密码"/>
<span class="tip_aq">
<font class="smyz rtxpass">重复密码不能为空!</font>
</span>
<div class="aqifm_con_but">
<input name="" type="button" value="提 交" class="jrb_but02" id="txaj"/>
</div>
</form>
</div>
<script>
//提现密码添加
$("#txaj").click(function() {
if ($("input[name='txpass']").val() == "") {
$(".txpass").show();
} else {
$(".txpass").hide();
}
if ($("input[name='rtxpass']").val() == "") {
$(".rtxpass").show();
} else {
$(".rtxpass").hide();
}
if ($("input[name='txpass']").val() != "" && $("input[name='rtxpass']").val() != "" && txpass()) {
alert("ok1");
$.post('{:U("Safeinfo/txpassadd")}', $("#txadd").serialize(), function(data) {
alert("ok2");
var data1=eval("("+data+")");
$(".tscg4").html(data1.msg);
//cjq script
//alert("data.code: " + data.code);
if (data1.code === '10000') {
setTimeout(function() {
parent.location.reload();
}, 1000);
}
},'json');
}
})
//判断添加提现密码长度
function txpass() {
if ($("input[name='txpass']").val().length > 5 && $("input[name='txpass']").val().length < 13) {
return true;
} else { $(".tscg4").html("<font color=\"#a9a9a9\">密码必须要6-12位字母、数字和符号!</font>");
return false;
}
}
</script>
</body>
</html>
怎么改代码都是只弹出了alert("ok1"); 没有弹出alert("ok2"); 郁闷了几天了!请指教,谢谢!
模板中的 $.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里指明返回参数类型
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>安全设置 - 桂林金融宝众投借贷平台</title>
<!--[if IE 6]>
<script src="/Public/frontend/js/DD_belatedPNG.js"></script>
<script>
/* EXAMPLE */
DD_belatedPNG.fix('.png_fix');
</script>
<style type="text/css">
.smyz {
color:#a9a9a9;
display:none
}
.tscg {
display:none
}
</style>
</head> <body>
<div class="div1">
<div class="zhutineirong">
<div class="left">
<div class="first"><img src="/Public/frontend/images/ico/home.png" width="24" height="24" class="png_fix" title="我的巨轮贷"/><a href="/usercontent-index.html">我的巨轮贷</a></div>
<ul class="left_navi">
<li class="zj "><img src="/Public/frontend/images/ico/005.png" width="24" height="24" class="png_fix" title="资金管理"/><img src="/Public/frontend/images/ico/005_2.png" width="24" height="24" class="img1" title="资金管理"/><span class="zj">资金管理</span>
<dl class="zjxl" >
<dt >
<dd ><a href="/charge-show.html">充值</a></dd>
<dd ><a href="/withdraw-show.html">提现</a></dd>
<dd ><a href="/capital-index.html">交易记录</a></dd>
</dt>
</dl>
</li>
<li class="zj "><img src="/Public/frontend/images/ico/062.png" width="24" height="24" class="png_fix" title="投资管理"/><img src="/Public/frontend/images/ico/062_1.png" width="24" height="24" class="img1" title="投资管理"/><span class="zj">投资管理</span>
<dl class="zjxl" >
<dt>
<dd ><a href="/invest-index.html">我的投资</a></dd>
<dd ><a href="/invest-statistics.html">投资统计</a></dd>
</dt>
</dl>
</li>
<li class="zj "><img src="/Public/frontend/images/ico/009.png" width="24" height="24" class="png_fix" title="借贷管理"/><img src="/Public/frontend/images/ico/009_2.png" width="24" height="24" class="img1" title="借贷管理"/><span class="zj">借贷管理</span>
<dl class="zjxl" >
<dt>
<dd ><a href="/loan-findAll.html" class="ok">我的借款</a></dd>
<dd ><a href="/loan_total-index.html">借款统计</a></dd>
</dt>
</dl>
</li>
<li class="zj cur"><img src="/Public/frontend/images/ico/011.png" width="24" height="24" class="png_fix" title="账户管理"/><img src="/Public/frontend/images/ico/011_1.png" width="24" height="24" class="img1" title="账户管理"/><span class="zj">账户管理</span>
<dl class="zjxl" style="display: block">
<dt>
<dd ><a href="/userinfo-index.html">个人资料中心</a></dd>
<dd class="d-cur"><a href="/safeinfo-index.html" class="ok">安全设置</a></dd> <dd ><a href="/account-bankCard.html">银行卡设置</a></dd>
<dd ><a href="/authhome-index.html">申请认证</a></dd> </dt>
</dl>
</li>
<li class="zj "><img src="/Public/frontend/images/ico/022.png" width="24" height="24" class="png_fix" title="互动管理"/><img src="/Public/frontend/images/ico/022_1.png" width="24" height="24" class="img1" title="互动管理"/><span class="zj">互动管理</span>
<dl class="zjxl" >
<dt>
<dd ><a href="/msg-index.html">站内消息</a></dd>
</dt>
</dl>
</li>
</ul>
</div>
<div class="users_right_con">
<h1>安全信息</h1>
<div class="aqxx_con">
<div class="aqxx_header_con">
<ul>
<li class="aqxx_neixing">登录密码</li>
<li class="aqxx_zhuangtai">为了您的账户安全,请定期更换登录密码,并确保与交易密码不同。</li>
<li class="aqxx_last" id="denglumima">
<a href="javascript:void(0);" id="clokshow" class="jrb_but03">修改</a><a href="javascript:void(0);" id="clokhide" style="display:none" class="jrb_but03">取消修改</a>
</li>
</ul>
</div>
<div class="aqxx_con_xq" id="denglumima02" style="display:none"><iframe src="/safeinfo-denglumima.html" style="marginheight="0" marginwidth="0" frameborder="0" scrolling="no" width="400px" height="270px"" id="ifm" name="ifm" onload="javascript:dyniframesize('ifm');"></iframe></div>
</div>
<div class="aqxx_con">
<div class="aqxx_header_con">
<ul>
<li class="aqxx_neixing">交易密码</li>
<li class="aqxx_zhuangtai">为了您的账户安全,提现需要输入交易密码,请确保与登录密码不同。</li>
<li class="aqxx_last">
<a href="javascript:void(0);" id="txshow1" class="jrb_but03">设置</a><a href="javascript:void(0);" id="txhide1" style="display:none" class="jrb_but03">取消设置</a>
</li>
</ul>
</div>
<div class="aqxx_con_xq" id="jiaoyimima02" style="display:none"><iframe src="/safeinfo-jiaoyimima.html" style="marginheight="0" marginwidth="0" frameborder="0" scrolling="no" width="400px" height="200px"" id="ifm" name="ifm" onload="javascript:dyniframesize('ifm');"></iframe></div>
<div class="aqxx_con_xq" id="jiaoyimima03" style="display:none"><iframe src="/safeinfo-jiaoyimima03.html" style="marginheight="0" marginwidth="0" frameborder="0" scrolling="no" width="400px" height="270px"" id="ifm" name="ifm" onload="javascript:dyniframesize('ifm');"></iframe></div>
<div class="aqxx_con_xq" id="jiaoyimima04" style="display:none"><iframe src="/safeinfo-jiaoyimima04.html" style="marginheight="0" marginwidth="0" frameborder="0" scrolling="no" width="400px" height="150px"" id="ifm" name="ifm" onload="javascript:dyniframesize('ifm');"></iframe></div>
<div class="aqxx_header_con" id="findpass" style="display:none">
<ul>
<li class="aqxx_neixing"> </li>
<li class="aqxx_zhuangtai"> </li>
<li class="aqxx_last">
<a href="javascript:void(0);" id="zhshow" class="jrb_but03">找回密码</a><a href="javascript:void(0);" id="zhhide" style="display:none" class="jrb_but03">取消找回</a>
</li>
</ul>
</div>
</div>
<div class="aqxx_con">
<div class="aqxx_header_con">
<ul>
<li class="aqxx_neixing">绑定邮箱</li>
<li class="aqxx_zhuangtai">mic****ah.net</li>
<li class="aqxx_last">
<a style="color:#999; margin-right:10px;">已验证</a>
</li>
</ul>
</div>
<div class="aqxx_con_xq" id="bangdingyouxiang02" style="display:none"><iframe src="/safeinfo-bangdingyouxiang.html" style="marginheight="0" marginwidth="0" frameborder="0" scrolling="no" width="400px" height="150px"" id="ifm" name="ifm" onload="javascript:dyniframesize('ifm');"></iframe></div>
</div>
<div class="aqxx_con">
<div class="aqxx_header_con">
<ul>
<li class="aqxx_neixing">绑定手机</li>
<li class="aqxx_zhuangtai">可以用手机找回您的密码,更改手机请先验证。</li>
<li class="aqxx_last">
<a href="javascript:void(0);" id="phoneshow1" class="jrb_but03">修改</a><a href="javascript:void(0);" id="phonehide1" style="display:none" class="jrb_but03">取消修改</a>
</li>
</ul>
</div>
<div class="aqxx_con_xq" id="bangdingshouji02" style="display:none"><iframe src="/safeinfo-bangdingshouji.html" style="marginheight="0" marginwidth="0" frameborder="0" scrolling="no" width="400px" height="200px"" id="ifm" name="ifm" onload="javascript:dyniframesize('ifm');"></iframe></div>
<div class="aqxx_con_xq" id="bangdingshouji03" style="display:none"><iframe src="/safeinfo-bangdingshouji03.html" style="marginheight="0" marginwidth="0" frameborder="0" scrolling="no" width="400px" height="270px"" id="ifm" name="ifm" onload="javascript:dyniframesize('ifm');"></iframe></div>
<div class="aqxx_con_xq" id="bangdingshouji04" style="display:none"><iframe src="/safeinfo-bangdingshouji04.html" style="marginheight="0" marginwidth="0" frameborder="0" scrolling="no" width="400px" height="200px"" id="ifm" name="ifm" onload="javascript:dyniframesize('ifm');"></iframe></div>
</div>
<!--
<div class="aqxx_con">
<div class="aqxx_header_con">
<ul>
<li class="aqxx_neixing">实名认证</li>
<li class="aqxx_zhuangtai">45****************</li>
<li class="aqxx_last">
<label class="sz"> 周*****</label>
</li>
</ul>
</div>
<div class="aqxx_con_xq" id="shimingrenzheng02" style="display:none"><iframe src="/safeinfo-shimingrenzheng.html" style="marginheight="0" marginwidth="0" frameborder="0" scrolling="no" width="400px" height="200px"" id="ifm" name="ifm" onload="javascript:dyniframesize('ifm');"></iframe></div>
</div>
-->
</div>
</div>
<script src="/Public/frontend/js/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
var env = 0;
$(document).ready(function() {
$(".zj dd").click(function() {
env = 1;
});
$(".zj").click(function() {
if (env === 0) {
$(this).children(".zjxl").toggle();
}
env = 0;
});
$('.verify-code').addClass('.verify-code');
});
</script>
</div>
<script src="/Public/frontend/js/anquan.js" language="javascript"></script>
<script>
$(document).ready(function() {
$("#denglumima").click(function() {
$("#denglumima02").toggle();
})
$("#jiaoyimima").click(function() {
$("#jiaoyimima02").toggle();
})
$("#bangdingyouxiang").click(function() {
$("#bangdingyouxiang02").toggle();
})
});
</script>
</body>
</html>
这是全部代码,谢谢!
既没有看到 id=txadd 的标记,已没有看到 $.post(.... 代码
这些代码在 safeinfo-jiaoyimima.html 里,safeinfo-jiaoyimima.html的代码在5楼下半部分。
请注意楼上代码里的这段代码:<iframe src="/safeinfo-bangdingshouji.html" style="marginheight="0" marginwidth="0" frameborder="0" scrolling="no" width="400px" height="200px"" id="ifm" name="ifm" onload="javascript:dyniframesize('ifm');"></iframe>
#5 的只是模板文件,如果是直接使用肯定是不行的
看到的框架代码是:<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style type="text/css">
.smyz {
color:#a9a9a9;
display:none
}
.tscg {
display:none
}
</style>
</head><body style="background:#FFF">
<div class="aq_iframe">
<form action="/safeinfo-txpassadd.html" method="post" id="txadd">
<p>
<label for="username"><span style="color:#F00; margin-right:5px;">*</span>交易密码</label>
<input type="password" class="aqifm_srk" name="txpass" placeholder="6-12位字母、数字、符号"/>
<span class="tip_aq">
<font class="smyz txpass">交易密码不能为空!</font>
<font class="tscg4"></font>
</span>
<p>
<label for="username"><span style="color:#F00; margin-right:5px;">*</span>重复密码</label>
<input type="password" class="aqifm_srk" name="rtxpass" placeholder="请再次输入您的交易密码"/>
<span class="tip_aq">
<font class="smyz rtxpass">重复密码不能为空!</font>
</span>
<div class="aqifm_con_but">
<input name="" type="button" value="提 交" class="jrb_but02" id="txaj"/>
</div>
</form>
</div>
<script>
//提现密码添加
$("#txaj").click(function() {
if ($("input[name='txpass']").val() == "") {
$(".txpass").show();
} else {
$(".txpass").hide();
}
if ($("input[name='rtxpass']").val() == "") {
$(".rtxpass").show();
} else {
$(".rtxpass").hide();
}
if ($("input[name='txpass']").val() != "" && $("input[name='rtxpass']").val() != "" && txpass()) {
//cjq script
alert("ok1");
$.post('/safeinfo-txpassadd.html', $("#txadd").serialize(), function(data) {
//cjq script
alert("ok2");
var data1=eval("("+data+")");
$(".tscg4").html(data1.msg);
//cjq script
//alert("data.code: " + data.code);
if (data1.code === '10000') {
setTimeout(function() {
parent.location.reload();
}, 1000);
}
},'json');
}
})
//判断添加提现密码长度
function txpass() {
if ($("input[name='txpass']").val().length > 5 && $("input[name='txpass']").val().length < 13) {
return true;
} else { $(".tscg4").html("<font color=\"#a9a9a9\">密码必须要6-12位字母、数字和符号!</font>");
return false;
}
}
</script>
</body>
</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', '<font color="red">请输入完整信息</font>');
} if (I('txpass') != I('rtxpass')) {
tip("3", '<font color="red">两次输入的密码不一致!</font>');
} $map['id'] = $this->uid;
$u = $user->where($map)->find();
if (empty($u)) {
tip("100", '<font color="red">未知用户!</font>');
} $data['u_trade_password'] = I('rtxpass', '', 'fix_pass');
if ($data['u_trade_password'] == $u['u_password']) {
tip("100", '<font color="red">交易密码不能与登录密码一样!</font>');
}
$status = $user->data($data)->where('id=' . $_SESSION['uid'])->save();
if ($status) {
tip("10000", '<font color="#0E9DA9">提交成功!</font>');
} else {
tip("2", '<font color="red">设置失败,请重试!</font>');
}
}
SafeinfoAction::txpassadd 方法
其中用到 tip 函数,不知你是如何定义的你那 $.post 方法有 json 声明,所以 tip 函数应输出 json 格式串
而 $.post 的回调函数的参数 data 已被解析成 js 对象了
你再 var data1=eval("("+data+")"); 就有蛇足了,应去掉
再次谢谢回复!tip 函数的代码在本帖顶楼和1楼呢,您没注意看。
就是老是无法从tip函数返回到当前页面,$.post('{:U("Safeinfo/txpassadd")}', $("#txadd").serialize(), function(data) {之后的代码都没执行,不知怎么回事?
var data1=eval("("+data+")"); 去掉了。
$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", '<font color="red">交易密码不能与登录密码一样!</font>');
得 {"code":"100","msg":"<font color=\"red\">\u4ea4\u6613\u5bc6\u7801\u4e0d\u80fd\u4e0e\u767b\u5f55\u5bc6\u7801\u4e00\u6837\uff01<\/font>"}
如果写成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", '<font color="red">交易密码不能与登录密码一样!</font>');
得 {"code":"100","msg":"<font color="red">交易密码不能与登录密码一样!</font>"}
就错了!
谢谢!这样子确实有返回了,但是有个问题:$(".tscg4").html(data.msg); 中data.msg的值变成<font color="red">浜ゆ
怎么变回:<font color="red">交易密码不能与登录密码一样!</font> 呢?
请继续指教,十分感谢!
function tip($code, $msg) {
$arr['code'] = urlencode($code);
$arr['msg'] = urlencode($msg);
$s = json_encode($arr);
die(urldecode($s);
}
谢谢斑竹老大,试过了,这样子ajax就无法返回了,
点击提交,只弹出了alert("ok1"); 没有弹出alert("ok2");