jQuery/Ajax/PHP/Json 的一个综合例子

简介:

jQuery/Ajax/PHP/Json 的一个综合例子

    jQuery 是一个优秀的 Javascript 框架,对 js 进行了优秀的包装,提供了许多方便的功能。jQuery 对 ajax 的包装也堪称优秀。

    jQuery 可以以 json 文件传输协议来传输数据(类似 xml,而且大有取代 xml 的趋势),而网站后台代码必须与之配合使用。PHP 是用 json_encode 函数来对返回的数组数据进行编码的,但这个函数只有 PHP5.2版本以上才支持。

    从网上找到一个 json 的操作类,本人在 PHP4.4.7 版本下测试通过。本人还建了个函数 function my_json_encode($phparr),使代码兼容 PHP5.2 以上版本。

    示例代码(包括 json 的类包软件)可以在以下网址下载:http://download.csdn.net/source/810895

    以下是全部代码:

 
  1. <html> 
  2. <head> 
  3. <title>jQuery Ajax 实例演示</title> 
  4. </head> 
  5. <script language=”javascript” src=”../lib/jquery.js” mce_src=”../lib/jquery.js”></script> 
  6. <script language=”javascript”> 
  7.  
  8. $(document).ready(function ()  
  9. {  
  10.    $(’#send_ajax’).click(function (){  
  11.      var params=$(’input’).serialize(); //序列化表单的值  
  12.      $.ajax({  
  13.        url:’ajax_json.php’, //后台处理程序  
  14.        type:’post’,         //数据发送方式  
  15.        dataType:’json’,     //接受数据格式  
  16.        data:params,         //要传递的数据  
  17.        success:update_page  //回传函数(这里是函数名)  
  18.      });  
  19.    });  
  20.  
  21.   //$.post()方式:  
  22.   $(’#test_post’).click(function (){  
  23.     $.post(  
  24.       ‘ajax_json.php’,  
  25.       {  
  26.         username:$(’#input1′).val(),  
  27.         age:$(’#input2′).val(),  
  28.         sex:$(’#input3′).val(),  
  29.         job:$(’#input4′).val()  
  30.       },  
  31.       function (data) //回传函数  
  32.       {  
  33.         var myjson=”;  
  34.         eval(’myjson=’ + data + ‘;’);  
  35.         $(’#result’).html(”姓名:” + myjson.username + “<br/>工作:” + myjson[’job’]);  
  36.       }  
  37.     );  
  38.    });  
  39.  
  40.   //$.get()方式:  
  41.   $(’#test_get’).click(function ()  
  42.   {  
  43.     $.get(  
  44.       ‘ajax_json.php’,  
  45.       {  
  46.         username:$(”#input1″).val(),  
  47.         age:$(”#input2″).val(),  
  48.         sex:$(”#input3″).val(),  
  49.         job:$(”#input4″).val()  
  50.       },  
  51.       function(data) //回传函数  
  52.       {  
  53.         var myjson=”;  
  54.         eval(”myjson=” + data + “;”);  
  55.         $(”#result”).html(myjson.job);  
  56.       }  
  57.     );  
  58.   });  
  59. });  
  60.  
  61. function update_page (json)  //回传函数实体,参数为XMLhttpRequest.responseText  
  62. {  
  63.   var str=”姓名:”+json.username+”<br />”;  
  64.   str+=”年龄:”+json.age+”<br />”;  
  65.   str+=”性别:”+json.sex+”<br />”;  
  66.   str+=”工作:”+json.job+”<br />”;  
  67.   str+=”追加测试:”+json.append;  
  68.   $(”#result”).html(str);  
  69. }  
  70. </script> 
  71. <body> 
  72.  
  73.   <div id=”result” style=”background:orange;border:1px solid red;width:300px;height:200px;”></div> 
  74.   <form id=”formtest” action=”" method=”post”> 
  75.     <p><span>输入姓名:</span><input type=”text” name=”username” id=”input1″ /></p> 
  76.     <p><span>输入年龄:</span><input type=”text” name=”age” id=”input2″ /></p> 
  77.     <p><span>输入性别:</span><input type=”text” name=”sex” id=”input3″ /></p> 
  78.     <p><span>输入工作:</span><input type=”text” name=”job” id=”input4″ /></p> 
  79.   </form> 
  80.   <button id=”send_ajax”>提交</button> 
  81.   <button id=”test_post”>POST提交</button> 
  82.   <button id=”test_get”>GET提交</button> 
  83.  
  84. </body> 
  85. </html> 
  86. PHP 文件 ajax_json.php:  
  87.  
  88. <?php 
  89.   //$arr = $_POST; //若以$.get()方式发送数据,则要改成$_GET.或者干脆:$_REQUEST  
  90.   $arr = $_REQUEST;  
  91.   $arr[’append’] = ‘测试字符串’;  
  92.   //print_r($arr);  
  93.   $myjson = my_json_encode($arr);  
  94.   echo $myjson;  
  95.  
  96.   function my_json_encode($phparr)  
  97.   {  
  98.     if(function_exists(”json_encode”))  
  99.     {  
  100.       return json_encode($phparr);  
  101.     }  
  102.     else  
  103.     {  
  104.       require_once ‘json/json.class.php’;  
  105.       $json = new Services_JSON;  
  106.       return $json->encode($phparr);  
  107.     }  
  108.   }  
  109. ?> 
  110.  

 










本文转自网眼51CTO博客,原文链接:http://blog.51cto.com/itwatch/286471,如需转载请自行联系原作者

相关文章
|
1月前
|
前端开发 JavaScript
杨校老师课堂之基于Servlet整合JQuery中的Ajax进行表单提交[基于IDEA]
杨校老师课堂之基于Servlet整合JQuery中的Ajax进行表单提交[基于IDEA]
27 0
杨校老师课堂之基于Servlet整合JQuery中的Ajax进行表单提交[基于IDEA]
|
1月前
|
JavaScript 前端开发 安全
安全开发-JS应用&原生开发&JQuery库&Ajax技术&加密编码库&断点调试&逆向分析&元素属性操作
安全开发-JS应用&原生开发&JQuery库&Ajax技术&加密编码库&断点调试&逆向分析&元素属性操作
|
1月前
|
JSON PHP 数据格式
蓝易云 - PHP用CURL发送Content-type为application/json的POST请求方法
在这段代码中,我们首先创建了一个包含我们要发送的数据的数组,并使用 `json_encode`函数将其转换为JSON格式。然后,我们初始化了一个cURL会话,并设置了一些选项,包括POST请求方法、要发送的数据、返回结果和HTTP头部信息。最后,我们执行了cURL请求并关闭了会话。
46 2
|
1月前
|
PHP
php+ajax传file文件数据
php+ajax传file文件数据
17 0
|
1月前
|
XML JSON 前端开发
第十一篇JavaScript JSON与AJAX
第十一篇JavaScript JSON与AJAX
17 0
|
2月前
|
XML JSON 前端开发
Ajax – JSON入门指南
Ajax – JSON入门指南
27 1
|
2月前
|
前端开发 JavaScript PHP
【PHP开发专栏】jQuery与PHP实现Ajax通信
【4月更文挑战第30天】本文介绍了使用jQuery和PHP实现Ajax通信的步骤。首先,讲解了Ajax的基础和jQuery简化Ajax操作的概念。接着,展示了如何使用jQuery的`$.get()`、`$.post()`和`$.ajax()`方法发送GET和POST请求,以及如何控制请求细节。在PHP端,讨论了接收和响应Ajax请求的方法,包括处理数据、设置响应类型和错误处理。结合jQuery与PHP,开发者能实现高效、无缝的异步数据传输,提升Web应用的用户体验。
|
2月前
|
JSON 前端开发 JavaScript
jQuery ajax读取本地json文件 三级联动下拉框
jQuery ajax读取本地json文件 三级联动下拉框
|
2月前
|
XML 前端开发 JavaScript
【PHP 开发专栏】PHP 与 Ajax 交互开发
【4月更文挑战第30天】本文探讨了PHP与Ajax交互在Web开发中的应用。Ajax负责客户端的异步请求,PHP处理服务器端业务逻辑。两者结合实现高效、流畅的用户体验。文中阐述了Ajax的工作原理,PHP的角色,数据传输格式选择,并提供了发送Ajax请求、PHP处理请求的示例代码。实际应用包括实时数据更新、表单验证和动态内容加载。开发中需注意跨域、数据安全和性能优化。PHP与Ajax的结合将继续在Web开发中发挥重要作用。
|
2月前
|
XML JSON 前端开发