Jquery Ajax 复杂json对象提交到WebService

一。使用get方式

1.前台

//复杂json对象提交

var person = {‘per‘:"{ ‘id‘: 1, ‘name‘: ‘张三‘, ‘sex‘: ‘男‘ }"};

$.ajax({

type: "get",

url: "JsonObject.asmx/GetPersonByObject",

data: person,

dataType: ‘json‘,

contentType: ‘application/json;charset=utf-8‘,

success: function (data) {

if (data.d == "1") {

$("#hello").text("服务器接收成功!");

}

else {

$("#hello").text("服务器接收数据失败!");

}

},

error: function () {

$("#hello").text("程序运行出错!");

}

});

2.后台

[WebMethod]

[ScriptMethod(ResponseFormat=ResponseFormat.Json, UseHttpGet=true)]

public string GetPersonByObject()

{

string jsonStr = HttpContext.Current.Request["per"];

Person per = jsonStr.JsonDeserialezer<Person>();//将json字符串反序列化

if (per.Id == 1)

{

return "1";

}

return "0";

}

二。使用post方式

1.前台

var person = "{‘per‘:\"{ ‘id‘: 1, ‘name‘: ‘张三‘, ‘sex‘: ‘男‘ }\"}";

$.ajax({

type: "post",

url: "JsonObject.asmx/GetPersonByObject",

data: person,

dataType: ‘json‘,

contentType: ‘application/json;charset=utf-8‘,

success: function (data) {

if (data.d == "1") {

$("#hello").text("服务器接收成功!");

}

else {

$("#hello").text("服务器接收数据失败!");

}

},

error: function () {

$("#hello").text("程序运行出错!");

}

});

2.后台

[WebMethod]

public string GetPersonByObject(string per)

{

Person person=   per.JsonDeserialezer<Person>();//将json反序列化

if (person.Id == 1)

{

return "1";

}

return "0";

}

三。List类型json提交,post方式

1.前台

//复杂json对象提交2

var person = "{‘per‘:\"[{ ‘id‘: 1, ‘name‘: ‘张三‘, ‘sex‘: ‘男‘ },{ ‘id‘: 2, ‘name‘: ‘王芳‘, ‘sex‘: ‘女‘ }]\"}";

$.ajax({

type: "post",

url: "JsonObject.asmx/GetPersonByOjects",

data: person,

dataType: ‘json‘,

contentType: ‘application/json;charset=utf-8‘,

success: function (data) {

$("#hello").text("就收前台数据人数:"+data.d);

},

error: function () {

$("#hello").text("程序运行出错!");

}

});

2.后台

[WebMethod]

public int GetPersonByOjects(string per)

{

List<Person> list = per.JsonDeserialezer<List<Person>>();//反序列化json字符串

return list.Count;

}

四。List类型json提交,get方式

1.前台

var person = {‘per‘:"[{ ‘id‘: 1, ‘name‘: ‘张三‘, ‘sex‘: ‘男‘ },{ ‘id‘: 2, ‘name‘: ‘王芳‘, ‘sex‘: ‘女‘ }]"};

$.ajax({

type: "get",

url: "JsonObject.asmx/GetPersonByOjects",

data: person,

dataType: ‘json‘,

contentType: ‘application/json;charset=utf-8‘,

success: function (data) {

$("#hello").text("就收前台数据人数:"+data.d);

},

error: function () {

$("#hello").text("程序运行出错!");

}

});

2.后台

[WebMethod]

[ScriptMethod(ResponseFormat=ResponseFormat.Json,UseHttpGet=true)]

public int GetPersonByOjects()

{

string per = HttpContext.Current.Request["per"];

List<Person> list = per.JsonDeserialezer<List<Person>>();

return list.Count;

}

时间: 2024-08-06 07:29:43

Jquery Ajax 复杂json对象提交到WebService的相关文章

.Net之使用Jquery Ajax通过FormData对象异步提交图片文件到服务端保存并返回保存的图片路径

前言: 首先对于图片上传而言,在我们的项目开发中可以说出现的频率是相当的高的.这篇文章中,我将要描述的是在我们.Net中如何使用Jquery Ajax通过FormData对象异步提交图片文件到后台保存,并返回保存的图片路径展示出图片,实现一个无刷新的异步图片上传的过程,当然这里我讲解的是单张图片的保存过程,对于多图片上传的话其实我们只需要在type='file'文本框中加上一个multiple可多选,然后获取input中的文件数组遍历向后台提交感兴趣的话可以尝试,不过下一篇博客将会讲解如何使用L

2016 系统设计第一期 (档案一)jQuery ajax serialize()方法form提交数据

jQuery ajax serialize()方法form提交数据,有个很奇怪的问题,好像不能取到隐藏控件的值. //点击提交按钮保存数据 $('#btn_submitUser').click(function () { var UserId = $('#UserId').val(); if (UserId == "") { $.ajax({ type: "POST", url: '/Users/Create/', data: $("#SaveUserFo

jquery+ajax验证不通过也提交表单问题处理

这篇文章主要介绍了jquery validationEngine中使用ajax验证不通过也提交表单问题处理,需要的朋友可以参考下 validationEngine给我们为前端的表单验证减少了很大的工作量.大部分情况我们使用validationEngine验证表单的形式有几种方式: 1 使用正常的表单提交.这种情况validationEngine验证不通过是不会提交表单的. 2 使用ajax提交表单,但是没有使用ajax验证. 这种方式也比较简单,在我们使用ajax请求前检查验证是否通过就可以,例

Spring MVC Controller与jquery ajax请求处理json

在用 spring mvc 写应用的时候发现jquery传递的[json数组对象]参数后台接收不到,多订单的处理,ajax请求: var cmd = {orders:[{"storeId":"0a1", "address":"西斗门路2号", "goods":[{"goodsId":"1"}, {"goodsId":"2"},

jq ajax传递json对象到服务端及contentType的用法

目录 0.一般情况下,通过键值对的方式将参数传递到服务端 1.ajax 传递复杂json对象到服务端 2.content-Type 对asp.net mvc项目的重要性 0.一般情况下,通过键值对的方式将参数传递到服务端 0.1 客户端代码: $.ajax({ url: 'TestHandler.ashx', type: 'post', data: { name: "admin", age: 10 }, dataType: 'text', success: function (data

Jquery Ajax 跨域调用asmx类型 WebService范例

摘要:Ajax 在 Web 2.0 时代起着非常重要的作用,然而有时因为同源策略(SOP)(俗称:跨域问题(cross domain)) 它的作用会受到限制.在本文中,将学习如何克服合作限制.本文以asmx方式搭建webservice作为测试用后端,给出完整的前后端调用解决方案.范例代码. 关键词: jquery ajax 跨域  webservice  asmx  cross-domain 0 问题分析 0.1 什么是跨域问题? 越来越多的网站需要相互协作.例如,在线房屋租赁网站需要谷歌地图的

$.ajax传递json对象到后台

var mall = { MallID: $("#createId").val().trim(), MallName: $("#createName").val().trim(), HomeURL: $("#chomeurl").val().trim(), PayNotifyURL: $("#cpayurl").val().trim(), RefundNotifyURL: $("#crepayurl").v

jQuery ajax 传递JSON数组到Spring Controller

jQuery ajax传递单个JSON对象到后台很容易,这里记录的是传递多个JSON对象组成的JSON数组到java 后台,并说明java如何解析JSON数组. 1.js代码 var relationArrays=new Array();  //获取所有组的人员信息grid数据  var allGrid= $(".userGrid");  for(var i=0;i<allGrid.length;i++){    var rows=$(allGrid[i]).datagrid(&

ajax和json对象

二维数组 首先是输出json字符串的php文件 header("Content-type: text/html; charset=utf-8"); //json设置utf-8 $arr=array('name'=>'大兵','age'=>'18','hobby'=>'电视'); foreach($arr as $k => $v){ //此循环将中文字符编码,防止乱码 $arr[$k]=urlencode($v); } echo urldecode(json_en