ajax aspx调用webservice,返回json
1,创建一个asp.net网站
2.创建一个student类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web; /// <summary>
/// Student 的摘要说明
/// </summary>
public class Student
{
public Student()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public int Id { get; set; }
public String Name { get; set; }
public int Age { get; set; } }
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Script.Services;
using System.Web.Services; /// <summary>
/// WebService 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。
[System.Web.Script.Services.ScriptService]
public class WebService : System.Web.Services.WebService { public WebService () { //如果使用设计的组件,请取消注释以下行
//InitializeComponent();
} [WebMethod]
public string HelloWorld() {
return "Hello World";
}
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json, UseHttpGet = false)] //ajax调用时加上这句话
public List<Student> getStudents() {
//Student s = new Student() {Id= 1,Name= "sa",Age= 18 };
List<Student> list = new List<Student>() {
new Student(){ Id= ,Name= "zhangsna",Age= },
new Student(){Id=,Name="lisi",Age=},
new Student(){Id =,Name="hehe",Age=}
};
return list;
}
[WebMethod]
public Student getStudent()
{
Student s = new Student() {Id= ,Name= "sa",Age= }; return s;
}
}
4,创建一个html页面,ajax调用
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<script src="../Scripts/jquery-1.8.2.min.js"></script>
<script src="../Scripts/jquery-1.8.2.intellisense.js"></script>
<script type="text/javascript">
$(function () {
//1,请求一个字符串hello world
//$.ajax({
// url: "/WebService.asmx/HelloWorld",
// datatype:
//});
//$.post(
// "/WebService.asmx/HelloWorld",
// {},
// function (data) {
// alert($(data).text());
// }
// ); //2,请求getStudents方法
$.ajax({
type: "POST",
contentType: "application/json; charset=utf8",
url: "/WebService.asmx/getStudents",
dataType: "json",
success: successCallback,
error:errorCallback
});
function successCallback(data) {
for (var i = ; i < data.d.length; i++) {
alert(data.d[i].Name + data.d[i].__type);
}
}
function errorCallback(XMLHttpRequest, status, errorThrown) {
alert(status + errorThrown);
}
//3,$.post $.get请求,没有成功;原因contengtype无法设置
//$.post(
// "/WebService.asmx/getStudents",
// { "contentType": "application/json; charset=utf-8" },
// function (data, status, jqxht) {
// alert(jqxht);
// alert(status);
// for (var i = 0; i < data.d.length; i++) {
// alert(data.d[i].Name);
// }
// }, "script"
//);
});
</script>
</head>
<body> </body>
</html>
5,创建一个aspx页面,调用
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using ServiceReference;
using t74webservice;
public partial class webservice_Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ }
protected void Button1_Click(object sender, EventArgs e)
{
t74webservice.WebServiceSoapClient ws = new t74webservice.WebServiceSoapClient();
//ws.HelloWorld()
t74webservice.Student s=ws.getStudent();
Response.Write(s.Age);
}
}
ok,以上是今天所学内容,两种调用webservice方法;
总结:1,ajax调用:
a,方法加上特性[scriptMethod(ResponseFormat=ResponseFormat.Json,UserHttpGet=true)] //true/flase get请求
(需要引用命名空间 system.Web.Script.Services;);
b,只能使用$.ajax调用,设置contentType:"application/json;charset=utf-8";
$.post与$.get不能调用的原因是:无法设置contentType,使其请求为json格式; 待以后处理----
c,前台使用时:data.d[i].Name; 原因-->返回的json为:{“d”:[{},{}]};
function successCallback(data) {
for (var i = ; i < data.d.length; i++) {
alert(data.d[i].Name + data.d[i].__type);
}
}
2,aspx 调用
引用web服务---》输入地址(或发现解决方案服务)
引用命名空间---new----调用方法---ok;
ajax aspx调用webservice,返回json的更多相关文章
- ASP.net jQuery调用webservice返回json数据的一些问题
之前寒假时,试着使用jQuery写了几个异步请求demo, 但是那样是使用的webform普通页面,一般应该是用 webservice 居多. 最近写后台管理时,想用异步来实现一些信息的展示和修改, ...
- jQuery调用WebService返回JSON数据
相信大家都比较了解JSON格式的数据对于ajax的方便,不了解的可以从网上找一下这方面的资料来看一下,这里就不多说了,不清楚的可以在网上查一下,这里只说一下因为参数设置不当引起的取不到返回值的问题. ...
- 亲测 asp.net 调用 webservice返回json
前端脚本 $("#sure").click(function () { var tbody = $("#putsigal tbody"); var trs = ...
- Asp.Net_Ajax调用WebService返回Json前台获取循环解析
利用JQuery的$.ajax()可以很方便的调用 asp.net的后台方法.但往往从后台返回的json字符串不能够正确解析,究其原因,是因为没有对返回的json数据做进一步的加工.其实,这里只需 要 ...
- WebService返回json格式数据供苹果或者安卓程序调用
1.新建一个WebService. 2. /// <summary> /// DemoToJson 的摘要说明 /// </summary> [WebService(Names ...
- jquery的ajax异步请求接收返回json数据
http://www.jb51.net/article/51122.htm jquery的ajax异步请求接收返回json数据方法设置简单,一个是服务器处理程序是返回json数据,另一种就是ajax发 ...
- ajax请求、servlet返回json数据
ajax请求.servlet返回json数据 1.方式一 response.setcontenttype("text/html;charset=utf-8"); response. ...
- ajax调用后台webservice返回JSON字符
后台代码: [WebMethod] public static string LoginTest(string userCode, string password) { UserManageCente ...
- asp.net webservice返回json问题
使用jQuery $.ajax方法请求webservice 一.方法返回值为string,将json格式的字符串返回 设置contentType为"application/json;char ...
随机推荐
- [办公应用]如何打印较小边距的PPT讲义(或者每页打印16页)
关键词:打印 PPT 讲义 4张 边距 今天同事问我如何打印PowerPoint的讲义.她自己使用PowerPoint打印讲义,设置每页4张,但是页边距太大:觉得浪费很大. 经过网上查阅后,现将方 ...
- Apache2.2安装
貌似Apache官网从2.2.X之后不再发布Windows安装版本,需要的话得自己编译 从官网下载2.2.25(我下了一个no-ssl的),安装提示 因为本机已经安装IIS,占用80端口,修改Apac ...
- H264--3--NAL层的处理[6]
------------------------------H.264的NAL层处理 ------------------------------ H264以NALU(NAL unit)为单位来支持编 ...
- codeforces 965E Trie+multiset
E. Short Code time limit per test 1 second memory limit per test 256 megabytes input standard input ...
- 洛谷P1600 天天爱跑步——树上差分
题目:https://www.luogu.org/problemnew/show/P1600 看博客:https://blog.csdn.net/clove_unique/article/detail ...
- matlab绘制曲线对比图
>> clear;>> x1=[0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8];>> y1=[0,0.55,0.69,0.86,0.93,0. ...
- [App Store Connect帮助]六、测试 Beta 版本(2)输入测试信息以供外部测试
如果您向外部测试员分发您的 App,您需要输入关于您 App 的额外 TestFlight 测试信息以供“Beta 版 App 审核”.您可以在添加 App 至您的帐户时,或在您邀请外部测试员时输入此 ...
- 汇编程序52:实验15 安装新的int9中断例程
assume cs:code ;重写int9中断例程,当按住a后松开,便会产生满屏A stack segment dw dup() stack ends code segment start: mov ...
- Asp.NET 知识点总结(二)
1.两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对? 答:不对,有相同的 hash code 编码格式. 2.swtich是否能作用在byte ...
- POJ 2194 2850 计算几何
题意: 给你了n个圆,让你摞起来,问顶层圆心的坐标 (数据保证间隔两层的圆不会挨着) 思路: 按照题意模拟. 假设我们已经知道了一层两个相邻圆的坐标a:(x1,y1)和b:(x2,y2) 很容易求出来 ...