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. Struts2:MyEclippse中使用struts-default.xml中定义的拦截器(timmer,logger)

    环境:MyEclipse 2015 Stable 2.0:struts2-core-2.3.16.1.jar等 struts.xml <struts> <package name=& ...

  2. 如何用Visual Studio 2013 (vs2013)编写C语言程序 (转)

    http://blog.sina.com.cn/s/blog_964ee6730101jvvi.html

  3. cmd执行mysql操作

    (以下已安装到本机的mysql为例) 登录mysql数据库,如果没有在环境变量配置path到mysql中的bin目录,需要手动进入该目录中 执行:mysql -u用户名 -p密码 (注意:只要进入了m ...

  4. centos 7 用yum安装 mysql

    首先centos7 已经不支持mysql,因为收费了你懂得,所以内部集成了mariadb,而安装mysql的话会和mariadb的文件冲突,所以需要先卸载掉mariadb,以下为卸载mariadb,安 ...

  5. 第一天 :学习node.js

    ① node.js环境配置 我学过的语言最简单的一门 直接百度就可以配置 ② 每个入门 的程序都是从helloworld开始 代码如下 : var http=require('http'); http ...

  6. 为 Linux 应用程序编写 DLL[转]

    自:http://www.ibm.com/developerworks/cn/linux/sdk/dll/index.html 在仅仅只会编写插件的时候为什么要编写整个应用程序? 插件和 DLL 通常 ...

  7. Openwebrtc

    https://github.com/EricssonResearch ============================= webrtc系列不错的博客 http://blog.csdn.net ...

  8. 转:python list排序的两种方法及实例讲解

    对List进行排序,Python提供了两个方法 方法1.用List的内建函数list.sort进行排序 list.sort(func=None, key=None, reverse=False) Py ...

  9. nodejs+mysql

    接着上一篇的php+mysql,我们来试一试nodejs怎么实现数据的增删查改. Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用了一个事件 ...

  10. python3.5------三级菜单

    笔者QQ :360212316 逻辑图 代码 city = { "华南": { "广东": ["广州市", "佛山市", ...