当前位置:Gxlcms > PHP教程 > die(json_encode(.没有返回

die(json_encode(.没有返回

时间:2021-07-01 10:21:17 帮助过:15人阅读

die(json_encode(... 没返回
我的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
}


这是为什么呢?
------解决思路----------------------
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<\/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", '交易密码不能与登录密码一样!');
得 {"code":"100","msg":""red">交易密码不能与登录密码一样!"}
就错了!

人气教程排行