PHP与jquery、AJAX使用简单教程,快速看懂ajax和json传值

其实ajax非常简单,但有很多地方需要注意,稍有不慎就有可能出错,编写程序还需大胆心细,不气不馁。

首先要注意几点:

1、 ajax 的dataType类型如果是json 则必须转成json.  如:echo json_encode($arr); 

2、POST 获值时,必须用转义类进行转义,不然遇到双引号或是 and select 之类的就会很危险,这个要特别注意

   (转义符类写在public.php)

      例:直接 $uname = $_POST['uname']; 这样是很危险的。必须用public类里的转义函数进行封装。

              像这样:$uname= gpc_string($_POST['uname']);

3、$ajax 里的url 最好写绝对路径。

4、PHP 里 有个  $arr['success'] 的封装类,接收 AJAX 里success 的值。ps:接收后需转成json型。

     例:$selphone ="select * from custormer where phone = '$phone'";

            $result = mysql_query($selphone);

            $row = mysql_num_rows($result);

            $arr['success'] = $row ?1 : 0;

            echo json_encode($arr); //转成json数据 

下面是具体代码,大家看实例,很容易明白工作原理。

html部分,文件名称reg.html

折叠XML/HTML 代码
  1. <html xmlns="http://www.w3.org/1999/xhtml">  
  2. <head>  
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
  4. <script src="js/jquery-1.9.1.js" type="text/javascript"></script>  
  5. <script>  
  6. $(function(){  
  7.    $("#phone").change(function(){  
  8.    var phone = $(this).val();  
  9. $.ajax({  
  10.   type:"post",  
  11.   url:"http://127.0.0.1/apply/logic/reg.php",  
  12.   dataType:"json",  
  13.   data:{"phone":phone},  
  14.   success: function(josn){  
  15.     if(josn.success ==0){  
  16.  $("#phonetext").text("恭喜你可以注册");  
  17. return true;  
  18.  }else{  
  19.   $("#phonetext").text("手机已存在不可注册");  
  20.  return false;  
  21.  }  
  22.     }  
  23. });  
  24. });  
  25. });  
  26. </script>  
  27. <title>测试版</title>  
  28. </head>  
  29. <body>  
  30. <div id="main">  
  31.   <form action="logic/reg.php" method="post" name="form1" id="form1">  
  32.     姓名:  
  33.     <input type="text" name="uname" id="uname"/>  
  34.     <span></span>  
  35.     <p></p>  
  36.     </br>  
  37.     公司:  
  38.     <input type="text" name="company" id="company"/>  
  39.     <span></span>  
  40.     <p></p>  
  41.     </br>  
  42.     职位:  
  43.     <input type="text" name="position" id="position"/>  
  44.     <span></span>  
  45.     <p></p>  
  46.     </br>  
  47.     手机:  
  48.     <input type="text" name="phone" id="phone"/>  
  49.     <span id="phonetext"></span>  
  50.     <p></p>  
  51.     </br>  
  52.     <input type="submit" value="提交" />  
  53.   </form>  
  54. </div>  
  55. </body>  
  56. </html>  

php部分,config.php

折叠PHP 代码
  1. <?php   
  2.   $con = mysql_connect("127.0.0.1:3306","root","");  
  3.   if(!$con){  
  4.    die('connect not count' .mysql_error());  
  5.  }  
  6.    mysql_set_charset('utf8',$con);  
  7.    $mydb = mysql_select_db("apply",$con);  
  8. ?>  

public.php

折叠PHP 代码
  1. <?php   
  2.  /** 
  3.   *function字符转义 
  4.   *return string  
  5. **/  
  6. function gpc_string($str){  
  7.  return (!get_magic_quotes_gpc()) ? mysql_real_escape_string(trim($str)) : $str;  
  8. }  
  9. ?>  

reg.php

折叠PHP 代码
  1. <?php   
  2.   require_once(dirname(_FILE_)."/config.php"); //导入配置文件  
  3.   require_once(dirname(_FILE_)."/public.php"); //导入公共文件(转义符)  
  4.   $uname= gpc_string($_POST'uname' ]);  
  5. $company= gpc_string($_POST['company']);   
  6. $position= gpc_string($_POST['position']);  
  7. $phone= gpc_string($_POST['phone']);  
  8. $selphone ="select * from custormer where phone = '$phone' ";  
  9. $result = mysql_query($selphone);  
  10. $row = mysql_num_rows($result);  
  11. $arr['success'] = $row  ? 1 : 0;  
  12. echo json_encode($arr); //转成json数据  
  13. if($uname !=null && $company !=null && $position !=null && $phone != null){  
  14. $insql="INSERT INTO `apply`.`custormer` (`id`, `uname`, `company`, `position`, `phone`, `deal`, `sign`, `whosnumber`) VALUES (NULL, '$uname', '$company', '$position', '$phone', '0', '0', NULL)";  
  15. $rn = mysql_query($insql);  
  16. $url = "http://127.0.0.1/apply/reg.html";  
  17. echo "<script language='javascript' type='text/javascript'>";  
  18.             echo "window.location.href= '$url' ";  
  19. echo "</script>";  
  20. }  
  21. ?>  

 

Tags: php   jquery   ajax   json
cms大学,为帝国cms用户提供动力
Copyright © 2016 CmsDX.com All Rights Reserved.