研究了一整天的json数据与ajax的数据传输,现在进行一个小的自我总结,仅供参考

1.关于ajax的认识

$.ajax(),是jquery下包装好的一个函数:参考地址:http://www.w3school.com.cn/jquery/ajax_ajax.asp

使用其跟php段进行通信。

//方法一:使用jquery包装好的$.AJAX()函数来实现,接下来的php代码也是根据该放松来写的

<script type="text/javascript">
  //jquery直接进行ajax的包装调用
       $(function(){     
         
            $("#subbtn").click(                     
                    function(){
                             //单引号+value没有括号
                        var name=document.getElementById('name').value;                  
                        var email=document.getElementById('email').value;
                        var content=document.getElementById('content').value;                                                            
                        var params={
                                "one":[{"name":name,"email":email,"content":content},{"name":"test","email":"test","content":"test"}],
                                "two":[{"name":"test1","email":"test2","content":"test2"},{"name":"test3","email":"test3","content":"test3"}]
                                        };                             
                        var url="deal.php";
                        $.ajax({
                            type:"post",
                            url:url,
                            data:params,
                            dataType:"json",
                            error:function()
                            {alert("error !")},
                            success:function(json){                              
                                 var back="<ul>";
                                 for(var i=0;i<(json.length);i++)
                                 {
                                     for(var j=0;j<json[i].length;j++)
                                         back+="<li>"+json[i][j]+"</li>";
                                 }         
                                  back+="</ul>";
                                 $("#backdata").html(back);
                                 $("#backdata").css({color:"green"});
                            }
                        });
                    });
        });    
    </script>

//方法二:自己创建XMLHttpRequest对象实现ajax

<script type="text/javascript">

var xmlhttp;

//创建XMLHttpRequest对象
    function creatXMLHttpRequest()
    {

//非IE浏览器创建XmlHttpRequest对象
        if(window.XMLHttpRequest)
        {
          xmlhttp=new XMLHttpRequest();
        }
        //IE浏览器创建XmlHttpRequest对象
        if(window.ActiveXObject)
        {
            try{
                xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e){
                try{
                    xmlhttp=new ActiveXObject("msxml2.XMLHTTP");
                }
                catch(ex){}
            }
        }
    }

//设置相应服务器后的回调函数
        function callbackhandle()
        {
            if(xmlhttp.readyState==4)
                document.getElementById("").innerHTML="数据正在加载。。。";
            if(xmlhttp.status==200)
            {
                document.write(xmlhttp.responseText);
            }
        }

//向服务器发出请求

function useXMLHttpRequest(url)
        {
            creatXMLHttpRequest();
            if(!xmlhttp)
            {
                alert("创建xmlhttp对象异常!");
                return false;
            }
            xmlhttp.open("POSY",url,true);
            xmlhttp.onreadystatechange=callbackhandle();
            xmlhttp.send();
        }

//客户端利用该函数进服务的请求调用
        function requestDigit()
        {
            var usname=document.getElementById().valueOf();
            var url="";
            useXMLHttpRequest(url);
        }

</script>

PHP段代码:利用jquery下包装的$.ajax()方法来回传json格式的数据

<?php

$name=$_POST['one'];
$email=$_POST['two'];
//$content=$_POST['content'];
$id=time();
//echo json_encode($_POST);
$conn=mysqli_connect('localhost', 'root','', 'guestbook');
mysqli_query($conn,"SET NAMES 'utf8'");
$s1=$name[0]["name"];
$s2=$name[0]["email"];
$s3=$name[0]["content"];
$sql="insert into liuyan values('$id','$s1','$s2','$s3')";
if(mysqli_query($conn, $sql))
{   
  $ar=array();
  $one=array();
  $tow=array();
  $one[0]=$s1;
  $one[1]=$s2;  
  $tow[0]=$email[1]["name"];//按照数组的访问方式,可以换成其他下标,仅作测试使用
  $tow[1]=$email[1]["email"];  
  $ar[0]=$one;
  $ar[1]=$tow;
  echo json_encode($ar);
}else
{
 echo 'DFDFDFDFDFD';//可以直接回传字符串,但是前面的现实的代码需要改一下,本人没有进行更改
 
}
 mysqli_close($conn);
?>

json的数据格式参考:http://baike.baidu.com/link?url=DexXfOk-Dt2rCSYz3oe8FhYXGAsHH5Jh_MUm3YopvoRT80-le_iXQoIMtdOj5jWU4FLRVPRLB6Xuca9xzezebq

1
2
3
4
5
6
7
8
9
10
11
12
13
varpeople={"programmers":[{"firstName":"Brett","lastName":"McLaughlin","email":"aaaa"},
{"firstName":"Jason","lastName":"Hunter","email":"bbbb"},
{"firstName":"Elliotte","lastName":"Harold","email":"cccc"}
],
"authors":[
{"firstName":"Isaac","lastName":"Asimov","genre":"sciencefiction"},
{"firstName":"Tad","lastName":"Williams","genre":"fantasy"},
{"firstName":"Frank","lastName":"Peretti","genre":"christianfiction"}
],
"musicians":[
{"firstName":"Eric","lastName":"Clapton","instrument":"guitar"},
{"firstName":"Sergei","lastName":"Rachmaninoff","instrument":"piano"}
]}

jquery下php与ajax的互传数据(json格式)自我总结的更多相关文章

  1. Django day11(一) ajax 文件上传 提交json格式数据

    一: 什么是ajax? AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步Javascript和XML”.即使用Javascript语言与服务器进行异步交互 ...

  2. jQuery插件AjaxFileUpload实现ajax文件上传时老是运行error方法 问题原因

    今天在用jQuery插件AjaxFileUpload实现ajax文件上传时,遇到一个问题,如图: 老是运行error.无法运行succes方法,追踪ajaxfileupload.js源代码发现: wa ...

  3. ajax-json,遇到的一个问题,jquery var ,加载顺序。JS对象,json格式转换。

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. jQuery插件AjaxFileUpload实现ajax文件上传

    转自:http://www.cnblogs.com/linjiqin/p/3530848.html jQuery插件AjaxFileUpload用来实现ajax文件上传,该插件使用非常简单,接下来写个 ...

  5. jquery下php与ajax的数据交换方式

    参考链接:http://www.php100.com/html/webkaifa/PHP/PHPyingyong/2013/0122/11971.html 一.前台传递字符串变量,后台返回字符串变量( ...

  6. 关于试用jquery的jsonp实现ajax跨域请求数据的问题

    我们在开发过程中遇到要获取另一个系统数据时,就造成跨域问题,这就是下文要说的解决办法: 先我们熟悉下json和jsonp的区别: 使用AJAX就会不可避免的面临两个问题,第一个是AJAX以何种格式来交 ...

  7. KETTLE:mongdb与mysql互传数据

    注:部分内容引用了 http://blog.sina.com.cn/s/blog_4ac9f56e0101g881.html 1.mongodb传数据到mysql 1)在kettle中,mongodb ...

  8. ajax请求web服务返回json格式

    由于.net frameword3.5以上添加了对contenttype的检查,当ajax发送请求时,如果设置了contenttype为json,那么请求webservice时,会自动将返回的内容转为 ...

  9. javascript 解析ajax返回的xml和json格式的数据

    写个例子,以备后用 一.JavaScript 解析返回的xml格式的数据: 1.javascript版本的ajax发送请求 (1).创建XMLHttpRequest对象,这个对象就是ajax请求的核心 ...

随机推荐

  1. ASP.NET之Application、Session和Cookie的差别

    在Asp.net中Application.Session和Cookie都能够保存信息,那么它们有什么不同呢? 一.首先Application是在server端建立一个状态变量,存储于server的全局 ...

  2. Swift - 做一个简单的无线U盘(手机端Http服务器搭建)

    由于iOS系统的封闭性,在数据传输方面十分不方便.不像安卓设备,直接连接电脑就能当U盘使用.所以一般我们如果用iPhone临时存取个东西,要么使用数据线连接iTunes,要么手机电脑都登上QQ,使用Q ...

  3. Usaco 1.3.2 修理牛棚(Barn Repair)

      Barn Repair 题意:在一个夜黑风高,下着暴风雨的夜晚,农民约翰的牛棚的屋顶.门被吹飞了. 好在许多牛正在度假,所以牛棚没有住满. 剩下的牛一个紧挨着另一个被排成一行来过夜. 有些牛棚里有 ...

  4. 通过OpenSSL解码X509证书文件

    在Windows平台下.假设要解析一个X509证书文件,最直接的办法是使用微软的CryptoAPI. 可是在非Windows平台下,就仅仅能使用强大的开源跨平台库OpenSSL了.一个X509证书通过 ...

  5. Hongwei Xi

    Hongwei Xi Hongwei Xi Hongwei Xi's Curriculum Vita Hongwei Xi

  6. 很具体GC学习笔记

    GC学习笔记 这是我公司同事的GC学习笔记,写得蛮具体的,由浅入深,循序渐进,让人一看就懂,特转到这里. 一.GC特性以及各种GC的选择 1.垃圾回收器的特性 2.对垃圾回收器的选择 2.1 连续 V ...

  7. APPCAN学习笔记003---原生开发与HTML5技术

    APPCAN学习笔记003---原生开发与HTML5技术 技术qq交流群:JavaDream:251572072 1.HTML5的优势:   HTML5强悍牢固的骨架   CSS3精致到每一个毛孔的皮 ...

  8. 带有机器人框架的.NET自己主动化測试

    Clayton Neal在软件測试和质量保证方面有超过13年的经验,当中有八年的Windows, web,和移动应用程序的測试自己主动化经验.他在測试领域的全部等级都工作过.近期他在Bloomberg ...

  9. c++(重载、覆盖、隐藏)

    源地址:http://www.cnblogs.com/qlee/archive/2011/07/04/2097055.html 成员函数的重载.覆盖与隐藏成员函数的重载.覆盖(override)与隐藏 ...

  10. 300M无线路由器 TL-WR842N - TP-LINK官方网站

    300M无线路由器 TL-WR842N - TP-LINK官方网站 300M无线路由器TL-WR842N 11N无线技术.300Mbps无线速率 2x2MIMO架构.CCA技术,提升无线稳定性.扩大无 ...