ESSAY / NOTE

原创:PHP与纯JS交互在当前页面读取SESSION不用AJAX等

这是一个比较糊弄人的思路  适合糊弄一些不是专业人士的客户 一般开发不推荐使用 我使用如下应用的目的是因为我用的插件懒得二次开发和项目方急催就投机取巧了! 如果你用普通的PHP 或者JS不用任何技巧就获取当前SESSION数据 来实现如:图像验证码 就会导致显示的总是前一个不会及时获取到最新 我因此去百度 谷歌搜了搜 都无果 大家都推荐说用什么AJAX py....这些 因此我相出2个歪招 1、yzcon变量获取了iframe id为b的内容 进行比对 但是我们务必再刷新验证码的时候带动整个网页的刷新或者呢 你去动态刷新iframe的内容达到SESSION同步 function yzlee(obj){ window.location.reload(); obj.src='验证响应地址?aa='+Math.random(); } function leeform(){ var win = document.getElementById('b').contentWindow; var yzcon =win.document.body.innerHTML; var yz=document.getElementById('vfb-44'); if(parseInt(yz.value)==parseInt(yzcon)){ return true; }else{ window.alert('验证码错误请重新输入'); return false; } } 2、如果是一些什么手机语音 短信验证码呢 用我之前说过在我的空间BLOG有个专门文章介绍这个的jquery响应一个JS随机数给GET请求传输给短信 在这个基础上套用一个id为yzm的div通过innerHTML动态传输及获取验证random值 function leeform(){ /*var win = document.getElementById('b2').contentWindow; var yzcon =win.document.body.innerHTML; var yzcon2=yzcon.split('-')*/ var mobieyzm=document.getElementById('yzm').innerHTML; // var mobile=document.getElementById('mobile'); var yzm=document.getElementById('vfb-61'); //window.alert('bibao1'); if(mobieyzm != yzm.value){ window.alert('验证码错误请重新输入'); }else{ //window.alert('ok'); return true; } //window.alert(yzcon2[0]+mobile+yzcon2[1]+yzm); } 下面是局部给yzm innerHTML通过jquery传值 !!!以下是局部代码 没有截完整 太长了有一些判断 $(document).ready(function(){ $("#Submit").click( function get_mobile(){ var mob1=$("#mobile").val(); if(mob1 !='' && mob1.length==11){ var mcode=Math.round(Math.random()*10000); //  window.alert(mcode); document.getElementById('yzm').innerHTML=mcode; //document.frames('b2').location.reload(); 当我们刷新的时候直接通过HTTP 请求和JS交互一下就可以了 也用不到什么ajax啦 不过这个不要应用到实际开发项目,仅供应急及学习交流使用!产生的后果自担哦