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. 慕课网-Java入门第一季-7-3 Java 中无参带返回值方法的使用

    来源:http://www.imooc.com/code/1579 如果方法不包含参数,但有返回值,我们称为无参带返回值的方法. 例如:下面的代码,定义了一个方法名为 calSum ,无参数,但返回值 ...

  2. 两系统用asp.net forms 身份验证方式实现跨域登录信息共享

    1.两个系统的 web.config 都配置为 forms 验证方式( system.web —> authentication 节点) 2.在两个系统的Web.config里配置相同的 sys ...

  3. 安装完Pydev却无法创建Python工程

    为了方便以后工作,今天在ADT里面安装了Pydev(http://pydev.org/updates),可是安装完之后,新建项目的时候却找不到Pydev,perference中也没有. 紧接着尝试安装 ...

  4. 【转】伪静态URLRewrite学习笔记

    UrlRewrite: UrlRewrite就是我们通常说的地址重写,用户得到的全部都是经过处理后的URL地址,类似于Apache的mod_rewrite.将我们的动态网页地址转化为静态的地址,如ht ...

  5. AngularJS之Directive,scope,$parse

    AngularJS内幕详解之 Directive AngularJS内幕详解之 Scope AngularJS的指令(Directive) compile和link的区别及使用示例 浅谈Angular ...

  6. Spark Streaming资源动态申请和动态控制消费速率剖析

    本期内容 : Spark Streaming资源动态分配 Spark Streaming动态控制消费速率 为什么需要动态处理 : Spark 属于粗粒度资源分配,也就是在默认情况下是先分配好资源然后再 ...

  7. AX 插入一条记录提示表记录已经存在,但是该记录实际上是不存在的。

    做测试的时候遇到一个情况"AX 插入一条记录提示表记录已经存在,但是该记录实际上是不存在的." 检查到该表(TABLE_ABC)所有的key都是AllowDuplicate的, 继 ...

  8. R语言获取国内的股票数据

    quantmod 包默认是访问 yahoo finance 的数据,其中包括上证和深证的股票数据,还有港股数据. 上证代码是 ss,深证代码是 sz,港股代码是 hk 例如苏宁云商 setSymbol ...

  9. Data Transformation / Learning with Counts

    机器学习中离散特征的处理方法 Updated: August 25, 2016 Learning with counts is an efficient way to create a compact ...

  10. JCL笔记

    本文转自<http://leowzy.iteye.com/blog/888931> ---------------------------------------------------- ...