php学习笔记(三十)ajax请求和接收参数的实现方式(包括json数据格式的简单处理)
2013-01-04 15:27
1411 查看
<?php /** * 一、Ajax的介绍和优点 * XMLHttpRequest * * 二、创建ajax创建对象(需要多浏览器支持) * 创建过程复杂,但是代码相对固定 * 要兼容各个浏览器 * 1.ie系列 * 2.非ie系列的浏览器 * * 三、ajax引擎对象中的方法(使用ajax请求服务器) * abort 停止当前请求 * getAllResponseHeaders 返回完整的headers * getResponseHeader 返回单个的header标签 * open("method","url",true) * send("content") 发送请求 * * 四、通过ajax获取服务器发送的数据(通过ajxa的属性实现) * ajax.onreadystatechange * 0 Uninitialized 初始化状态。XMLHttpRequest 对象已创建或已被 abort() 方法重置。 * 1 Open open() 方法已调用,但是 send() 方法未调用。请求还没有被发送。 * 2 Send Send() 方法已调用,HTTP 请求已发送到 Web 服务器。未接收到响应。 * 3 Receiving 所有响应头部都已经接收到。响应体开始接收但未完成。 * 4 Loaded HTTP 响应已经完全接收。 * */ ?> <script> function createXMLHttpRequest(){ var request = false; //一般先判断非IE浏览器 //window对象中有XMLHttpRequest存在就是非IE,包括(IE7,IE8) if(window.XMLHttpRequest){ request=new XMLHttpRequest();//非IE以及IE7,IE8浏览器 if(request.overrideMimeType){ request.overrideMimeType("text/xml");//重置mime类型 } //window对象中有ActiveXObject属性存在就是IE浏览器的低版本 }else if(window.ActiveXObject){ var versions=['Microsoft.XMLHTTP', 'MSXML.XMLHTTP', 'Msxml2.XMLHTTP.7.0','Msxml2.XMLHTTP.6.0','Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP'];//各种IE浏览器创建Ajax对象时传递的参数 for(var i=0; i<versions.length; i++){ try{ request=new ActiveXObject(versions[i]);//各个IE浏览器版本的参数不同 if(request){ return request; } }catch(e){ request=false; } } } return request; } //注意:必须把创建ajax对象的代码放在show 函数里,确保每次点击的时候都创建一个新的ajax对象。 var ajax = null; function show(){ var helloObj = document.getElementById("hello"); ajax = createXMLHttpRequest(); //ajax监听请求状态改变事件 ajax.onreadystatechange = function(){ if(ajax.readyState==4){ if(ajax.status==200){ //1.访问php文件 //获取服务器输出的文本 var data = ajax.responseText; alert(data+"aaaaaa"+ajax.status); helloObj.innerHTML = data; //json转成对象 eval("var obj="+data); alert(obj.one); alert(obj.two); alert(obj.three); //2.访问xml文件(返回的是文档document对象) var doc = ajax.responseXML; var users = doc.getElemnetsByTagName("user"); }else{ alert("页面请求失败"+ajax.status); } } } //open三个参数:方法,位置,异步传输 //使用get方法 // ajax.open("get","serverget.php?username=zhangsan&email=devilzy@163.com×tamp="+Math.random(),true); //传递参数 // ajax.send(null); //使用post需要设置头信息 ajax.open("post","serverpost.php",true); ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); ajax.send("username=lisi&email=lisi@163.com×tamp="+Math.random()); } </script> <input type="button" onclick="show()" value="request"> <div id="hello" style="width: 500px;height: 100px;"> </div> <form action="serverpost.php" method="post"> </form>
<?php $str = "{$_GET["username"]}---{$_GET["email"]}---\n"; $file = fopen("saveget.txt", "a"); fwrite($file, $str); $file.close(); ?>
<?php //用来解决中文乱码问题 // header("Content-Type:text/html;charset=utf-8"); $str = "{$_POST["username"]}---{$_POST["email"]}---\n"; // $file = fopen("savepost.txt", "a"); // fwrite($file, $str); // $file.close(); //多个字符串会当成一个字符串来处理 // echo $str."我的啊"; // echo $str."******"; //所以可以写入一个数组中 $arr = array("one"=>1,"two"=>2,"three"=>3); //转换成json $json = json_encode($arr); echo $json; ?>
相关文章推荐
- spring mvc接收参数方式,json格式返回请求数据
- struts2学习笔记--使用struts2插件实现ajax处理(返回json数据)
- ajax请求当发送post方式application/json格式数据,url后面又带有参数的时候
- ThinkPHP以jquery传送json数据格式的方式实现ajax请求
- 【Spring学习笔记-MVC-5】利用spring MVC框架,实现ajax异步请求以及json数据的返回
- PHP中利用jQuery操作json格式数据,实现$_POST的数据传输和接收
- Ajax处理JSON数据参考【学习笔记】
- Vue------第五天(Vue的Ajax请求,使用Axios,目前熟悉了一下,主要包括GET请求、POST请求、并发请求、请求参数的配置、服务器响应的结构以及对服务器响应错误的简单处理)
- Ajax核心XMLHttpRequest对象、(发送请求、接收)方法和属性介绍、AJAX开发框架、数据格式提要(XML、JSON、HTML)
- 接口规范,js处理json,php返回给ajax的数据格式
- ios网络学习------5 json格式数据的请求处理
- MVC3/4项目开发中遇到的ajax提交Json数据到后台Controller处理(接收参数:多重JSON)
- ajax json php jquery 实现json数据发送和处理
- Ajax实现异步操作实例_针对JSON格式的请求数据
- SpringMVC环境下实现的Ajax异步请求JSON格式数据
- ZP的EXTJS学习笔记(二)——calendar的改造(example改造、日程管理实现、json对date数据的前后台处理)
- Struts学习_Jquery发送ajax请求以及datatype参数为text/JSON方式
- json和xml数据格式基于ajax的实现方式
- C# winform端 通过HttpWebRequest进行post和get请求,数据格式为json,后台java端接收,其中有关传输特殊字符(\t,\r,',\n,n)等处理
- 【python学习笔记】flask实现简单的接收json返回json的接口