json提交给服务器我们在提交之前需要通过js的相关函数来把数据转换成json格式的数据再进行post或get了,下面来看看。
 

大概需求就是前端要把数据组装成json,传给后端。首先,在客户端,通过javascript脚本将页面表单数据封装成json格式.getjsondata()函数完成了这一功能.然后我们通过$.ajax()方法将数据发送到服务端,其中用到了json.stringify()方法,它可以将客户端发送地数据转换成json对象

直接上代码:

 代码如下 复制代码

$.ajax({  
        type: "POST",  
        url: "RequestData.ashx",  
        contentType: "application/json; charset=utf-8",  
        data: JSON.stringify(GetJsonData()),  
        dataType: "json",  
        success: function (message) {  
            if (message > 0) {  
                alert("请求已提交!我们会尽快与您取得联系");  
            }  
        },  
        error: function (message) {  
            $("#request-process-patent").html("提交数据失败!");  
        }  
    });  
});  
  
function GetJsonData() {  
    var json = {  
        "classid": 2,  
        "name": $("#tb_name").val(),  
        "zlclass": "测试类型1,测试类型2,测试类型3",  
        "pname": $("#tb_contact_people").val(),  
        "tel": $("#tb_contact_phone").val()  
    };  
    return json;

上面的例子是在博客园找到的 ,但这是最简单的一种json格式,我们在做项目中肯定会遇到json里有数组,然后我改造了以下,也直接上代码吧,

 代码如下 复制代码

$.ajax({  
       type: "POST",  
       url: "RequestData.do",  
       contentType: "application/json; charset=utf-8",  
       data: JSON.stringify(GetJsonData()),  
       dataType: "json",  
       success: function (message) {  
           if (message > 0) {  
            $(".posting").remove();  
               $(".main_con").append("<p style='text-align:center; padding:20px 0; background:#03f430;color:#fff;'>提交数据成功!</p>");  
           }  
       },  
       error: function (message) {  
        $(".posting").remove();  
        $(".main_con").append("<p style='text-align:center; padding:20px 0;background:#f4031a;color:#fff;'>提交数据失败!</p>");  
       }  
   });  
   function GetJsonData() {  
    var teamdata=[];  
    for(var i=0; i<$(".onjob-lsit tr").length; i++){  
        var teamobj ={  
            "teamRelname":$(".teamRelname").eq(i).text(),   
            "teamTel":$(".teamTel").eq(i).text(),   
            "teamStartDate":$(".teamStartDate").eq(i).text(),   
            "teamEndtDate":$(".teamEndtDate").eq(i).text(),   
            "teamRemark":$(".teamRemark").eq(i).text()  
        };  
        teamdata.push(teamobj);  
    }  
      
    var json = {  
        "onteamName": $(".onteamName").val(),  
        "forteamName": $(".forteamName").val(),  
        "teamList":teamdata  
          
    };  
    return json;  
    }

php如何接收post过来的JSON数据

POST过来的JSON数据,一般直接用接受就好
打个比方

JavaScript code

 

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
var allUnivList = [{
        "id": 1,
        "univs": [{
            "id": 1001,
            "name""清华大学"
        },
        {
            "id": 1002,
            "name""北京大学"
        }],
        "country_id": 0,
        "name""北京"
    }]
 
//比如你传递的是上面这个JSON格式,在PHP端,举个用JQ提交的例子:
$.ajax({
                url: "test.php",
                type: "post",
                data: { allcity: allUnivList},
                success: function (data) {                  
                      alert(data);
                },
                error: function () {
                    alert("系统异常!");
                }
            });

以上是JS部分,以下是PHP部分:

PHP code

 

?

1
2
3
//一般直接使用
$allcity=$_POST['allcity'];
echo $allcity['name'];

这样alert出来的结果应该是北京

  mysql_set_charset('utf8');
$datas=$_GET['getDatas'];
//print_r($datas);
$user = json_decode($datas,true);
   // echo var_dump($user);
   print_r($user); 

转载网站:

http://www.111cn.net/wy/jquery/112697.htm

http://bbs.csdn.net/topics/390643303

转载 ----HTML5 ---js实现json方式提交数据到服务端的更多相关文章

  1. JQuery以JSON方式提交数据到服务端

    JQuery将Ajax数据请求进行了封装,从而使得该操作实现起来容易许多.以往我们要写很多的代码来实现该功能,现在只需要调用$.ajax()方法,并指明请求的方式.地址.数据类型,以及回调方法等.下面 ...

  2. ajax post 提交数据到服务端时中文乱码解决方法

    get 方式提交数据到服务端不会乱码,但对数据量有限制;post 可以提交大数据量,但中文会发生乱码,解决方法: 在JS上用使用 encodeURIComponent 对字符编码处理: student ...

  3. json提交数据到服务端

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Courier New"; color: #393939; backgr ...

  4. Http协议:客户端提交数据给服务端和从服务端获得数据,像WebView也是向百度的服务端发出一条Http请求,服务端返回HTML页面,客户端(浏览器)解析后展示出页面

    提交数据和获得数据的方式有很多,这里介绍一种,使用HttpURLConnection来向服务器提交数据或者获得数据. 获得数据: //传入网址,获得请求网页数据(XML文件数据或JSON文件数据) p ...

  5. js 模拟ajax方式提交数据

    html页面 <script>function LocaluploadCallback(msg) {     document.getElementById("f_localup ...

  6. js以json形式提交数据,后台接受

    $("#savename").click(function(){ var fananname=$("#editname").val(); var jsonLis ...

  7. 苹果微信浏览器不能post方式提交数据问题

    form表单中采用post方式提交数据时,在苹果的微信浏览器中无法传递,安卓的可以 如图: 在controller中获取该数据为 null 将表单的提交方式修改为get就能够获取到 现在采用Ajax方 ...

  8. 使用jquery.form.js的ajaxsubmit方法提交数据的Bug

    周五同事遇到一个很奇怪的问题,调到下班,虽然问题解决了,但是不知道问题的具体原因,回来翻了翻代码,才发现症结所在,下面就分享出来,供遇到同样问题的同行们参考: 先把问题描述一下,做的功能是使用ajax ...

  9. Android 采用post方式提交数据到服务器

    接着上篇<Android 采用get方式提交数据到服务器>,本文来实现采用post方式提交数据到服务器 首先对比一下get方式和post方式: 修改布局: <LinearLayout ...

随机推荐

  1. find命令和tar命令的使用

    tar命令 tar -zcvf small.tar.gz small(目录名) (压缩) tar -zxvf small.tar.gz -C small(目录名) (解压到指定目录) find 命令 ...

  2. backtrack下vim的使用

    root@bt:~# vim test.c //vim新建或者编辑test.c,执行后进入vim编辑器,按a键进入编辑状态,输入C代码 #include<stdio.h> void mai ...

  3. 通过Nginx+tomcat+redis实现反向代理 、负载均衡及session同步

    一直对于负载均衡比较陌生,今天尝试着去了解了一下,并做了一个小的实验,对于这个概念有一些认识,在此做一个简单的总结 什么是负载均衡 负载均衡,英文 名称为Load Balance,指由多台服务器以对称 ...

  4. iOS学习之代码块(Block)

    代码块(Block) (1)主要作用:将一段代码保存起来,在需要的地方调用即可. (2)全局变量在代码块中的使用: 全局变量可以在代码块中使用,同时也可以被改变,代码片段如下: ;//注意:全局变量 ...

  5. 【WCF全析(二)】--服务配置部署详解

            上篇文章主要讨论了WCF的基本内容,其中包括WCF的术语.创建方法及WCF在开发过程中使用的意义,它不仅能够提供程序之间的通信,而且还能提供程序和数据间的通信,WCF提供了多样化的程序 ...

  6. [转]简单理解Socket

    简单理解Socket 转自 http://www.cnblogs.com/dolphinX/p/3460545.html  题外话 前几天和朋友聊天,朋友问我怎么最近不写博客了,一个是因为最近在忙着公 ...

  7. MYSQL 优化常用方法

    1.选取最适用的字段属性 MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快.因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽 ...

  8. sql 递归子查询

    select (SELECT (Case A1.AreaAbbr WHEN '' THEN A1.AreaName Else A1.AreaAbbr  END)+ ' ' FROM AreaLang ...

  9. linux 关于用户与组的操作

    1.添加用户: useradd  handongyu 2.查看所有用户 cat  /etc/passwd   查看某一用户用 cat /etc/passwd |grep root 3.查看所有组 ca ...

  10. 自定义浏览器协议,实现web程序调用本地程序

    转自  http://blog.csdn.net/talking12391239/article/details/40712759 亲测可用 tencent://Message/?Uin=000000 ...