《2022年AjaxJSPHPJSON应用举例 .pdf》由会员分享,可在线阅读,更多相关《2022年AjaxJSPHPJSON应用举例 .pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、作者:NGKillerGmail.Com 原创作品,这些是我自己的一些东东,对初学者也许有用。Ajax JS使用 encodeURIComponent()函数来编码一段文字(可以含特殊字符),然后在 PHP端直接接收(不用任何解码),这样可以通过 JS来编码并 POST给 PHP脚本而不出现错误注:经测试英文、中文均可通过Ajax 使用 POST传递参数时记得:1.设置 HTTP头(使用 setRequestHeader()函数)2.设置传递参数,在调用send()函数时代入参数PHP 在更新数据时,要加上单引号:$name=$_REQUESTname;$query=UPDATE test S
2、ET text=$name WHERE id=1;/注意 这儿要在$name 上加上单引号,否则出错JS如何使用默认参数(详见:ECMAScript 函数)function tep()alert(arguments0+arguments1+arguments2);tep(Hello,world!);直接使用 argumentsi来调用参数即可。不能在函数的()括号中进行赋值。在调用函数时,参数要用单绰号括起来,而在函数中时不要使用单引号。JSON数组从 PHP-JS JSON数组中的键、值必须用双引号括起来:5:five PHP:$arr=array(1=one,b=two,III=3,d=f
3、our,5=five);echo json_encode($arr);/结果为字符串:名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 4 页 -1:one,b:two,III:3,d:four,5:five JS:var abc=JSON.parse(arr);for(a in abc)alert(a+:+abca);/显示如:1:one,a 为 key(键),而 abca则为 value(值)JS中读取一个数组的键、值(用for.in.即可)var b=;bone=first;btwo=second;for(a in b)alert(a+:+ba);/显示如:one:first
4、 JSON数组从 JS-PHP JS:var a=,temp=;aone=First;a2=Second;athree=Third;var i=0;for(s in a)/使用 for.in.可以把每个键、值都包含进去tempi=+s+:+as+;/结果如:one:First i+;/以上亦可用 temp.push(+s+:+as+)把各值压入 temp 中.这样就不需要 i 值了.s=+temp.join(,)+;/使用数组的 join()函数来生成 JSON格式的字符串之后使用 encodeURIComponent(s)发送给 PHP端PHP:名师资料总结-精品资料欢迎下载-名师精心整理-
5、第 2 页,共 4 页 -$arr=$_REQUESTjson;if(get_magic_quotes_gpc()/去掉字符串中间的 符号$arr=stripslashes($arr);$arr=json_decode($arr);/这时就可以用 json_decode()函数来生成 PHP数组了foreach($arr as$k=$v)echo$k=$v n;需要注意的就是,若PHP会自动屏蔽可能造成数据溢出的特殊符号,则要用 get_magic_quotes_gpc()或者检查 magic_quotes_gpc的值(使用ini_get(magic_quotes_gpc)=1),然后删除传递
6、过来的字符串中的 符号PHP清空数组PHP中声明数组时直接用$arr=array();清空数组时用同样的方法即可:$arr=array();清空数组不能使用unset(),unset()是删除数组。清空后还可以调用数组,但删除后就不能使用数组了(会提示未定义的变量)。JS清空数组直接用 即可:arr=;取得最新的数据在通过 Ajax或者刷新 PHP页面时,可以在 PHP脚本文件名后面加一个无意义的随机值,这样就可以确保取得最新的数据,进行刷新.JS:var url=ajax/send.php?sid=+Math.random();PHP中调用一样,使用$sid=rand();JS跳出执行代码/
7、JS代码停止执行要在 JS中停止执行代码,(函数中)直接加上return false 或者 return名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 4 页 -就可以了。绝对唯一的值(用来标示一个特定的ID时用到)绝对唯一的值就是时间.$tm=microtime(1);/或者 microtime(true);这样会返回一个浮点函数,是绝对唯一的值注:但在 PHP执行时,总是会遇到这样的问题:因为 CPU速度过快,理论上取得时间是不同的,但实际结果中有相同的数值!这时可以使用以下方法:+设置一个值(比如 1)+写入+递增(+1)+继续循环这是个笨办法,但绝对有效名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 4 页 -