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. Proe Top-Down设计演示

    前段时间有网友问我,proe 里面有没有装配设计中当某一零件尺寸需要修改时, 与其相关的零件尺寸都需要随之做相应改变的法子.我认为top-down是很好的选择. 下面介绍一下top-down的理论: ...

  2. Extjs 百度地图扩展

    var bmapps; Bsprint.EditMapInfoWindow = Ext.extend(Ext.Window, { form: null, constructor: function ( ...

  3. extends 和 implements

    extends是继承类与类的 implements是实现接口的 类与类之间只支持单继承 接口与接口之间支持多继承

  4. Commons-Collections 集合工具类的使用

    package com.bjsxt.others.commons; import java.util.ArrayList; import java.util.List; import org.apac ...

  5. Nodejs简单介绍以及在windows环境下安装与配置流程

    简介 一. Nodejs是什么? Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效. ...

  6. 2016-11-10:win7下VMware虚拟机中CentOS6.5网络配置

    在win7环境下,使用桥接和NAT模式配置VMware虚拟机网络,实现宿主机与虚拟机以及虚拟机通过宿主机网卡访问互联网. 1 配置VMware虚拟网络编辑器 VMnet0 桥接模式 VMnet1仅主机 ...

  7. Flask-RESTful 快速入门

    Flask-RESTful 快速入门 hello world from flask import Flask from flask_restful import Resource, Api app = ...

  8. 枚举类valueOf方法的疑问

    枚举类中valueOf方法只有一个参数而Enum类中有两个参数,请问Enum实例类中的valueOf方法是从何处继承而来?   答案:jvm进行编译的时候添加的.

  9. TJI读书笔记17-字符串

    TJI读书笔记17-字符串 不可变的String 重载”+”和StringBuilder toString()方法的一个坑 String上的操作 格式化输出 Formatter类 字符串操作可能是计算 ...

  10. TJI读书笔记14-闭包与回调

      TJI读书笔记14-闭包与回调 闭包与回调 为什么要使用内部类?内部类继承自某个类或者实现某个接口,内部类的代码可以操作外嵌类的对象. 这不是使用内部类的理由. 那么为什么使用内部类呢? 我觉得如 ...