亲测 asp.net 调用 webservice返回json

前端脚本

 1 $("#sure").click(function () {
 2 var tbody = $("#putsigal tbody");
 3 var trs = tbody.find("tr");
 4 var houses = "{\"houses\":[";
 5 trs.each(function (i) {
 6 var housename = $(this).find(‘input[name="housename"]‘).val();
 7 var houseaddress = $(this).find(‘input[name="houseaddress"]‘).val();
 8 var area = $(this).find(‘input[name="area"]‘).val();
 9 alert(housename + "-" + houseaddress + "-" + area);
10 if (!housename || !houseaddress || !area) {
11 alert("第" + (i + 1) + "行的仓库信息不完整");
12 return false;
13 } else {
14 var num = /^[1-9][0-9]+(.[0-9]{1,2}){0,1}$/;
15 if (!num.test(area)) {
16 alert("第" + (i + 1) + "行的仓库面积输入不合法");
17 return false;
18 }
19
20 houses += "{\"housename\":" + "\"" + housename + "\",\"houseaddress\":\"" + houseaddress + "\",\"area\":\"" + area + "\"},";
21 }
22
23 })
24 var value = houses.substring(0, houses.length - 1);
25 value += "]}";
26
27 $.ajax({
28 type: "post",
29 url: "/Service.asmx/AddHouse",
30 dataType: "json",
31 //contentType: "application/json; charset=utf-8",
32 data: { house: value },
33 success: function (data) {
34 // alert(data);
35 if (data.result == "1") {
36 alert(data.message);
37 window.location.href = "WareHouse.aspx";
38 } else { alert(data.message); }
39 },
40 error: function(x, e) {
41 alert(x.responseText);
42 },
43
44 });
45 });

webservice 代码

[WebMethod]
public void AddHouse(string house)
{
HouseBll hb = new HouseBll();
JavaScriptSerializer js = new JavaScriptSerializer();
Context.Response.Clear();
Context.Response.ContentType = "aplication/json";
string jsontext = house;
List<Warehouse> hs = new List<Warehouse>();
Data result = new Data();
JsonToobj json = new JsonToobj();
hs = json.JsonToHouses(jsontext);
foreach (Warehouse h in hs)
{
try { hb.AddHouse(h); result.result = "1"; result.message = "成功插入"; }
catch { result.result = "0"; result.message = "发生异常"; }
}

Context.Response.Write(js.Serialize(result));
Context.Response.End();
}
 1 [WebMethod]
 2 public string AddHouse(string house)
 3 {
 4 HouseBll hb = new HouseBll();
 5 JavaScriptSerializer js = new JavaScriptSerializer();
 6 Context.Response.Clear();
 7 Context.Response.ContentType = "aplication/json";
 8 string jsontext = house;
 9 List<Warehouse> hs = new List<Warehouse>();
10 Data result = new Data();
11 JsonToobj json = new JsonToobj();
12 hs = json.JsonToHouses(jsontext);
13 foreach (Warehouse h in hs)
14 {
15 try { hb.AddHouse(h); result.result = "1"; result.message = "成功插入"; }
16 catch { result.result = "0"; result.message = "发生异常"; }
17 }
18
19 return js.Serialize(result);
20
21 }

可以看到这个方法在写法上只有标红部分不同以及返回类型不同,其余均相同。第一个写法返回纯粹的json字符串,前端可以直接识别(本例中的前端脚本采用的第一种写法),而第二种写法则返回的是xml格式。在其格式下将json字符串包含在节点中。这种方式显然不是最方便的。原因就在于webservice 直接返回的是xml格式,而采用response.write的方法则是直接将结果写入返回流中,因此没有额外的格式限制。

时间: 2024-10-14 23:52:00

亲测 asp.net 调用 webservice返回json的相关文章

jQuery调用WebService返回JSON数据

相信大家都比较了解JSON格式的数据对于ajax的方便,不了解的可以从网上找一下这方面的资料来看一下,这里就不多说了,不清楚的可以在网上查一下,这里只说一下因为参数设置不当引起的取不到返回值的问题. 在用jQuery调用WebService的时候,它contentType默认为 以下是WebService服务端的代码: 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.W

ASP.net jQuery调用webservice返回json数据的一些问题

之前寒假时,试着使用jQuery写了几个异步请求demo, 但是那样是使用的webform普通页面,一般应该是用 webservice 居多. 最近写后台管理时,想用异步来实现一些信息的展示和修改, 这是第一次真正的在实际中运用ajax,卡了一个小时才做好简单的信息展示. 在这之间遇到了两个问题.写下来分享给大家,也加深一下自己的印象. 有错误的地方还请大神指出. 前端js代码: 1 <script type="text/javascript"> 2 $(function

WebService返回json格式数据供苹果或者安卓程序调用

1.新建一个WebService. 2. 1 /// <summary> 2 /// DemoToJson 的摘要说明 3 /// </summary> 4 [WebService(Namespace = "http://tempuri.org/",Description=("<br><p >西安xx公司</p>技术支持:王光旭"))] 5 [WebServiceBinding(ConformsTo = W

[转]jQuery调用ASPX返回json

本文转自:http://www.cnblogs.com/fire-phoenix/archive/2009/11/13/1614146.html 本文介绍如何在ASP.NET(ASP.NET/AJAX)里使用基于JQuery的AJAX技术.(源代码下载见最后) 在使用JQuery前,请到www.jquery.com下载最新版本的js代码,然后再代码里使用 <script src="_scripts/jQuery-1.3.2.js" type="text/javascri

jQuery的ajax调用webservice返回XML数据传参错误

jQuery的ajax调用webservice返回XML数据传参错误: 有时候使用jquery的ajax调用带有参数的webservice返回XML格式输出的时候,会出现传参错误,当然错误的原因可能是多种多样的,下面就简单介绍一种. 一.错误代码: 1.ajax代码: $.ajax({ type:"post", url:"_service.asmx/getDataFromATable", data:" { tablename: temp }",

调用AJAX返回JSON、XML数据类型

1.调用AJAX返回JSON数据 用下拉列表显示Nation表民族名称 主页面: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <he

2.Webservice返回json数据并去掉Xml头部。

问题: 我将结果内容用字符串拼接成Json数据并返回的时候,会在结果前面添加xml头部,结果如下. <span style="font-size:14px;"><string xmlns="http://tempuri.org/"> {"data":[{"batchId":"B001","produceOrderId":"", "pr

WebService 返回json格式和返回xml格式的数据

返回json格式 //using System.Web.Script.Services; [WebMethod] [ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)] public void HelloWorld() { Context.Response.Clear(); Context.Response.ContentType = "application/json"; Model.User.U

Jquery 调用.net WebService 返回Json、XML方法

由于项目需要,使用前端.手机客户端调用ASP.NET的Webservice来获取信息.所以这段时间重温一下Jquery与Web Serivce,过程中碰到不少问题,也有不少的收获. Service代码 [WebMethod] public string HelloWorld() { return "Hello World"; } [WebMethod] public string myMethod(string para) { return "Hi," + para