jQuery AJAX调用C# WebService全攻略
194 浏览量
更新于2024-08-28
收藏 47KB PDF 举报
"jQuery AJAX 调用 Web Service 的注意事项主要涉及 Web.config 配置和 Web Service 代码的编写。"
在使用 jQuery AJAX 调用 C# 编写的 Web Service 时,需要注意以下关键点:
1. Web.config 配置:
在 `Web.config` 文件中,你需要对 `httpHandlers` 和 `webServices` 部分进行配置,以确保 AJAX 请求能够正确处理 ASP.NET 的 ASMX 文件。首先,你需要移除默认的处理程序,然后添加一个新的 ScriptHandlerFactory,这样 jQuery 就可以识别并处理服务请求。
```xml
<httpHandlers>
<remove verb="*" path="*.asmx" />
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</httpHandlers>
```
接着,在 `<system.web>` 节点内,你需要配置 `webServices` 的 `protocols`,添加 HTTP POST 和 GET 方法的支持,以便 AJAX 可以通过这两种方式调用 Web Service。
```xml
<webServices>
<protocols>
<add name="HttpPost" />
<add name="HttpGet" />
</protocols>
</webServices>
```
2. Web Service 代码编写:
- 定义 Web Service 类时,需要添加必要的属性和方法注解。例如,使用 `[WebService(Namespace = "http://tempuri.org/")]` 来指定命名空间,`[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]` 表示遵循 WSI 基本配置1.1,以及 `[System.ComponentModel.ToolboxItem(false)]` 来禁止在设计时显示。
- 若要使 Web Service 可供 AJAX 调用,需要添加 `[System.Web.Script.Services.ScriptService]` 注解。
- 创建 Web Service 的公共方法,并使用 `[WebMethod]` 和 `[ScriptMethod(ResponseFormat = ResponseFormat.Json)]` 注解来声明该方法可被远程调用,并指定响应格式为 JSON,这对于 jQuery AJAX 特别重要,因为 JSON 是最常用的交换数据格式。
举例来说,一个简单的验证用户登录状态的 Web Service 方法可能如下所示:
```csharp
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
[System.Web.Script.Services.ScriptService]
public class UserValidate : System.Web.Services.WebService
{
// 其他业务逻辑代码...
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string ValidateUserLogState()
{
// 验证用户登录状态的逻辑...
return "登录状态验证结果";
}
}
```
3. jQuery AJAX 调用:
在前端使用 jQuery 调用 Web Service 时,你需要构建 AJAX 请求,指定 URL、方法类型(GET 或 POST)、数据及成功和错误回调函数。例如:
```javascript
$.ajax({
url: 'YourWebService.asmx/ValidateUserLogState',
type: 'POST',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
data: JSON.stringify({ /* 参数如果有的话 */ }),
success: function (response) {
// 处理成功的回调,如解析 JSON 数据
},
error: function (jqXHR, textStatus, errorThrown) {
// 处理错误的回调
}
});
```
jQuery AJAX 调用 C# Web Service 的过程中,正确配置 Web.config 以启用 AJAX 支持,并在服务端编写符合规范的 Web Service 方法是至关重要的。同时,前端要构造合适的 AJAX 请求,确保与服务端的交互顺利进行。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2020-10-29 上传
2020-10-28 上传
2012-08-22 上传
2016-12-30 上传
2020-10-22 上传
2016-06-20 上传
weixin_38570296
- 粉丝: 5
- 资源: 937
最新资源
- Flask 改成你认识的MVC
- meta_manager
- syncflux:SyncFlux是用于迁移或HA集群的开源InfluxDB数据同步和复制工具
- Mail.rar_WEB邮件程序_Java_
- Justdial-Scrapper:一个工作100%的Justdial抓取工具,只需输入网址,它就会从中提取业务信息
- biopython:Biopython的官方git存储库(最初从CVS转换)
- GP2_SW-Expert
- postgresql-to-sqlite:易于使用的解决方案,可以从Postgresql Dump创建sqlite数据库
- covid19_maroc_mapp
- Trackly - Productivity Tracker for Teams-crx插件
- Chapter3.rar_J2ME_Java_
- search-antispam:用于sreach表单的WordPress AnitSpam插件
- playground-z8pgw2ej:Tech.io游乐场
- ServUSetup.zip
- goodshop电脑端商城
- elegant-frontend-architecture