`
isiqi
  • 浏览: 16556816 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

jQuery如何调用ASP.NET的WebService

阅读更多

今天搞这个WebService的调用方式了,整了一下午怎么也出不来,愁死了。唉,晚上吃完饭回来上网查下才发现需要在WebApp里的Web.config里需要配置(以下第3步),默认不支持post 调用。唉,郁闷,看了很多jQuery如何调用ASP.NETWebService的相关文章,就是没题这个配置。希望写文章的人,把代码贴全了,也希望网上转载别人文章的人别瞎转载了,你到低试验没有啊,不好使也转载,唉。不说了,写下我的步骤吧。

1、建立项目WebServiceWebApp项目,如图所示

2Service1.asmx代码为:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.Services;

using System.Data;

namespace WebService1

{

/// <summary>

/// Service1 的摘要说明

/// </summary>

[WebService(Namespace = "http://tempuri.org/")]

[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

[System.ComponentModel.ToolboxItem(false)]

// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。

[System.Web.Script.Services.ScriptService]

public class Service1 : System.Web.Services.WebService

{

//无参方法

[WebMethod]

public string HelloWorld()

{

return "Hello World";

}

//有参方法1

[WebMethod]

public int Add(int a, int b)

{

return a + b;

}

//有参方法2

[WebMethod]

public int Sum(int x)

{

int sum = 0;

for (int i = 0; i <= x; i++)

{

sum += i;

}

return sum;

}

// 返回一个复合类型

[WebMethod]

public Student GetStudentByStuNo(string stuNo)

{

if(stuNo=="001")

return new Student { StuNo = "001", StuName = "张三" };

if(stuNo=="002")

return new Student { StuNo = "002", StuName = "李四" };

return null;

}

//返回返回泛型集合的

[WebMethod]

public List<Student> GetList()

{

List<Student> list = new List<Student>();

list.Add(new Student() { StuNo = "001", StuName = "张三" });

list.Add(new Student() { StuNo = "002", StuName = "李四" });

list.Add(new Student() { StuNo = "003", StuName = "王五" });

return list;

}

//返回DataSet

[WebMethod]

public DataSet GetDataSet()

{

DataSet ds = new DataSet();

DataTable dt = new DataTable();

dt.Columns.Add("StuNo", Type.GetType("System.String"));

dt.Columns.Add("StuName", Type.GetType("System.String"));

DataRow dr = dt.NewRow();

dr["StuNo"] = "001"; dr["StuName"] = "张三";

dt.Rows.Add(dr);

dr = dt.NewRow();

dr["StuNo"] = "002"; dr["StuName"] = "李四";

dt.Rows.Add(dr);

ds.Tables.Add(dt);

return ds;

}

}

public class Student

{

public string StuNo { get; set; }

public string StuName { get; set; }

}

}

3、打开WebApp项目JqueryInvokeWebService里的web.config文件,在system.web节下面加上以下配置

<webServices >

<protocols >

<add name="HttpSoap"/>

<add name="HttpPost"/>

<add name="HttpGet"/>

<add name="Documentation"/>

</protocols>

</webServices>

4Default.aspx代码为:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="JqueryInvokeWebService._Default" %>

<!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">

<head runat="server">

<title></title>

<script src="Scripts/jquery-1.4.1-vsdoc.js" type="text/javascript"></script>

<script type="text/javascript">

// 1、调用无参数方法

$(document).ready(function() {

$('#Button1').click(function() {

$.ajax({

type: "POST", //访问WebService使用Post方式请求

contentType: "application/json", //WebService 会返回Json类型

url: "http://localhost:3152/Service1.asmx/HelloWorld", //调用WebService的地址和方法名称组合---WsURL/方法名

data: "{}", //这里是要传递的参数,格式为 data: "{paraName:paraValue}",下面将会看到

dataType: 'json',

success: function(result) { //回调函数,result,返回值

alert(result.d);

}

});

});

});

//2、调用带参数的方法

$(document).ready(function() {

$('#Button2').click(function() {

$.ajax({

type: "POST", //访问WebService使用Post方式请求

contentType: "application/json", //WebService 会返回Json类型

url: "http://localhost:3152/Service1.asmx/Add", //调用WebService的地址和方法名称组合---WsURL/方法名

data: "{a:3,b:4}", //注意参数名字要和WebService里的Add方法里参数名字一致,否则不得行

dataType: 'json',

success: function(result) { //回调函数,result,返回值

alert(result.d);

}

});

});

});

//3、调用复合类型的方法

$(document).ready(function() {

$('#Button3').click(function() {

$.ajax({

type: "POST", //访问WebService使用Post方式请求

contentType: "application/json", //WebService 会返回Json类型

url: "http://localhost:3152/Service1.asmx/GetStudentByStuNo", //调用WebService的地址和方法名称组合---WsURL/方法名

data: "{stuNo:'002'}",

dataType: 'json',

success: function(result) { //回调函数,result,返回值

alert("学号:"+result.d["StuNo"] + ",姓名:" + result.d["StuName"]);

}

});

});

});

//4、调用返回泛型集合的方法

$(document).ready(function() {

$('#Button4').click(function() {

$.ajax({

type: "POST", //访问WebService使用Post方式请求

contentType: "application/json", //WebService 会返回Json类型

url: "http://localhost:3152/Service1.asmx/GetList", //调用WebService的地址和方法名称组合---WsURL/方法名

data: "{}",

dataType: 'json',

success: function(result) { //回调函数,result,返回值

$(result.d).each(function() {

$("#lbResult").append(this["StuNo"] + "," + this["StuName"] + "<br />");

});

}

});

});

});

// 5、调用返回DataSet(xml格式)的方法

$(document).ready(function() {

$('#Button5').click(function() {

$.ajax({

type: "POST", //访问WebService使用Post方式请求

url: "http://localhost:3152/Service1.asmx/GetDataSet", //调用WebService的地址和方法名称组合---WsURL/方法名

data: "{}",

dataType: "xml", //返回XML数据类型

success: function(result) { //回调函数,result,返回值

$(result).find("Table1").each(function() {

alert("学号:" + $(this).find("StuNo").text() + ",姓名:" + $(this).find("StuName").text());

$('#lbResult').append($(this).find("StuNo").text() + " " + $(this).find("StuName").text() + "<br />");

});

}

});

});

});

//显示动画效果

$(document).ready(function() {

$('#loading').ajaxStart(function() {

$(this).show();

}).ajaxStop(function() {

$(this).hide();

});

});

</script>

</head>

<body>

<form id="form1" runat="server">

<div>

<input id="Button1" type="button" value="调用无参数方法" /><br />

<input id="Button2" type="button" value="调用带参数方法" /><br />

<input id="Button3" type="button" value="调用复合类型的方法" /><br />

<input id="Button4" type="button" value="调用返回泛型集合的方法" /><br />

<span styl

分享到:
评论

相关推荐

    jquery调用Webservice的demo(.net)

    - 在Visual Studio中新建一个ASP.NET Web应用程序项目。 - 添加一个新的ASMX文件,如`WebService1.asmx`。 - 在ASMX文件中定义公共方法,例如: ```csharp [WebMethod] public string HelloWorld() { return...

    jquery调用基于.NET Framework 3.5的WebService返回JSON数据

    首先,你需要创建一个新的ASP.NET WebService项目,然后添加一个新的ASMX文件。接下来,在文件中定义你的Web方法,比如: ```csharp [WebService(Namespace = "http://yournamespace.com/")] [WebServiceBinding...

    jQuery与ASP.NET打造AJAX技术

    **jQuery访问WebService**:jQuery的$.ajax()方法是与ASP.NET WebService进行交互的主要工具。Web Service通常是以.asmx为扩展名的文件,提供XML或JSON格式的数据。通过设置URL、type(GET或POST)、dataType(如...

    ASP.NET中jQuery调用WebService处理返回结果的方式

    在ASP.NET中,jQuery调用WebService进行异步通信时,主要通过jQuery的ajax方法实现。处理返回结果的关键在于理解返回数据的类型和对应的处理方式。对于返回字符串、数组或复杂对象,WebMethod可以通过设置不同的返回...

    Asp.net调用WebService例子

    ASP.NET调用WebService是Web应用程序之间进行数据交互和功能扩展的一种常见方式。在这个例子中,我们将探讨如何在ASP.NET环境中创建并使用一个简单的WebService来获取并显示天气信息。这个过程涵盖了几个关键知识点...

    jQuery AJax调用asp.net webservers的实现代码

    ### 使用jQuery AJAX调用ASP.NET WebService的实现与解析 #### 一、概述 本文将详细介绍如何使用jQuery的AJAX功能来调用ASP.NET WebService,并解析提供的代码示例。AJAX(Asynchronous JavaScript and XML)是一种...

    Asp.Net的webService简单示例

    本示例主要展示了如何在C#中创建一个简单的Web服务,并利用jQuery进行调用,以及如何返回自定义的JSON数据,而非依赖ASP.NET默认的`{d:content}`格式。 首先,创建一个新的ASP.NET Web服务项目。在Visual Studio中...

    jquery调用asp.net 页面后台的实现代码

    本文将详细介绍如何使用jQuery调用ASP.NET页面后台的方法。 首先,我们需要在ASP.NET中创建一个简单的页面(aspx),并在这个页面上添加一个客户端控件,例如一个按钮。这个按钮的HTML代码如下: ```html ``` 在...

    jQuery Ajax方法调用 Asp.Net WebService 的详细实例代码

    在本文中,我们将深入探讨如何使用jQuery的Ajax方法来调用Asp.Net WebService,并通过具体实例代码进行演示。在Web开发中,Ajax技术能够实现页面的异步更新,提高用户体验,而Asp.Net WebService则提供了服务端的...

    Jquery Asp.net AJAX 异步通讯

    总结,jQuery与ASP.NET的AJAX异步通信提供了灵活、高效的方式来实现前后端数据交换,无论是在传统的aspx.cs页面、WebService、HttpHandler,还是现代的MVC或Web API框架中。掌握这些技术,可以提升你的Web应用性能,...

    【ASP.NET编程知识】ASP.NET如何定时调用WebService服务.docx

    本文为 ASP.NET 开发者提供了一种简单而有效的方法来实现定时调用 WebService 服务,并且还介绍了使用 jQuery 和 Ajax 调用 WebService 服务的方法。 知识点: * 使用 System.Timers.Timer 组件来实现定时调用 ...

    【ASP.NET编程知识】浅谈对Jquery+JSON+WebService的使用小结.docx

    【ASP.NET编程知识】浅谈对Jquery+JSON+WebService的使用小结 在现代Web开发中,ASP.NET结合jQuery和JSON以及WebService技术是构建动态交互界面的常见选择。jQuery作为一个强大的JavaScript库,以其简洁易用的API...

    asp.net三层 jquery调用后台数据例子

    在这个案例中,我们将探讨如何使用jQuery在客户端通过POST方法调用ASP.NET WebService,进而获取由三层架构支持的后台数据。JSON(JavaScript Object Notation)格式的数据在后台与前端之间进行传输,它轻量级且易于...

    asp.net+jquery+ajax所有调用例子

    在这个“asp.net+jquery+ajax所有调用例子”中,我们将深入探讨如何结合这些技术来实现高效的用户交互。 首先,ASP.NET AJAX提供了UpdatePanel组件,使得页面的部分区域可以异步更新,而无需整个页面的回发。通过在...

    jquery跨域调用webservice

    // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。 [System.Web.Script.Services.ScriptService] public class Ajaxky : System.Web.Services.WebService { public Ajaxky() { // 如果...

    【ASP.NET编程知识】asp.net类库中添加WebService引用出现问题解决方法.docx

    1. 使用 ASP.NET 的 WebService 代理类:在 ASP.NET 项目中,可以使用 WebService 代理类来调用 WebService。 2. 使用 jQuery + Ajax 调用 WebService:可以使用 jQuery + Ajax 方法调用 WebService。 四、 ASP.NET...

    ASP.NET使用WebService创建模糊查询窗体

    综上所述,创建一个ASP.NET使用WebService的模糊查询窗体涉及Web服务的创建、Web方法的定义、数据的传输以及在客户端进行调用和数据显示等多个环节。理解并掌握这些知识点,有助于构建高效、安全的Web应用程序。

    ASP.NET与Web Service实例剖析中文版

    ASP.NET和Web Service是微软开发的两种核心技术,用于构建高效、可扩展的互联网应用程序和服务。在本书《ASP.NET与Web Service实例剖析中文版》中,读者可以深入理解这两种技术的原理及其实际应用。 ASP.NET是.NET...

    jquery调用webservice总结

    在成功回调函数 `success` 中,`result.d` 通常包含来自服务端的方法返回值,因为 ASP.NET 自动将结果包装在 `d` 属性内。 5. **加载提示**:`beforeSend` 和 `complete` 回调函数分别在请求发送前和完成后执行。在...

Global site tag (gtag.js) - Google Analytics