为什么用JS的返回值赋值后,字符串的长度大幅增加,但显示正常

nfsq550ml 2014-10-13 11:03:46
1. 在网上找到一个用来取拼音首字母的JS函数,修改后放入php程序中,发现经用php调用后,返回的字符串有80多个字节,而且无法写入数据库,用php自身生成的字符串则字节数、写入数据库均正常,其中第二次赋值后显示正常,但2个字母长度却有80字符,而写入数据库报错,查看queryPY()函数直到返回前均正常,说明这个拼音转换函数正确;
2. 问题出在第2句,请问哪里出了问题?如何解决,是不是字符串中加入了一些带有一些不可见字符,如何去除?谢谢!
<? php
var_dump($idxName); //第一次,$idxName初始赋值后:string(6) “张三”
$idxName = "<script>var pyFrist=queryPY('$idxName'); window.document.write(pyFrist)</script>";//获取返回值。
var_dump($idxName); //第二次,调用js函数后用返回值再次赋值:string(80) "ZS"
?>

$idxName = "<script>var pyFrist=queryPY('$idxName'); window.document.write(pyFrist)</script>";//获取返回值。
...全文
190 3 打赏 收藏 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
孟子E章 2014-10-14
  • 打赏
  • 举报
回复
$idxName 你这是服务器端的代码,js是不能再服务器端运行的,只能在在浏览器中运行。 你要搞清楚,php代码是先运行的,执行完毕后才发送到客户端。你的只是给php编码赋值啊 php代码不能得到js执行的结果的,除非js执行完后ajax提交给php 你应该做的是找一段php实现的函数
nfsq550ml 2014-10-14
  • 打赏
  • 举报
回复
明白了,80确实是这串代码的长度,我把中间的“window.”去掉后,就变成了73,我还是想办法用ajax传给php,谢谢楼上二位
Hello World, 2014-10-14
  • 打赏
  • 举报
回复
因为你这段字符长度就是80:<script>var pyFrist=queryPY('$idxName'); window.document.write(pyFrist)</script> 1#说得对,分清前后台代码

87,984

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧