热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Ajax异步调用的几种方法

一、介绍.net中异步调用的不同实现方式首先新建一个html页面
一、介绍.net中异步调用的不同实现方式
首先新建一个html页面
 

(1)、第一种普通的webform窗体页
            新建一个webform把aspx页面的HTML代码去掉,留住第一行
            <%&#64; Page Language&#61;"C#" AutoEventWireup&#61;"true" CodeBehind&#61;"AjaxPage.aspx.cs"         Inherits&#61;"WebApplication1.AjaxPage" %>
            后台cs文件代码&#xff1a;
             protected void Page_Load(object sender, EventArgs e)
            {
                 string type &#61; HttpContext.Current.Request.Form["type"];
            if(type&#61;&#61;"getData01")
            {
                     HttpContext.Current.Response.Write("AjaxPage.aspx/Ajax Frame No.1");
            }   
            }
(2)、第二种单独的aspx页面和一个cs文件
aspx文件中的代码<%&#64; Page Inherits&#61;"命名空间.刚才的那个cs文件名" %>
前台&#xff1a;
$.post(&#39;Ajax.aspx&#39;, { type: &#39;getData01&#39; }, function (re) {
                $(&#39;#re_method02&#39;).html(re);
            });
后台&#xff1a;
public Ajax()
    {
        string type &#61; HttpContext.Current.Request.Form["type"];
         if(type&#61;&#61;"getData01")
            {
                     HttpContext.Current.Response.Write("Ajax.aspx/Ajax Frame No.1");
            }
    }
(3)、第三种是ashx一般处理程序的文件
这里主要知识点就是继承了IHttpHandler接口。来实现Http web相关的事件处理。
实现方法&#xff1a;新建后注销掉context.Response.Write("Hello World");改为你的事件处理代码即可。
(4)、第四种利用System.Web.Services.WebMethodAttribute
在&#xff08;1&#xff09;的基础上引用命名空间using System.Web.Services;然后在需要异步执行的方法上添加[WebMethod]属性
前台&#xff1a;
$.ajax({
                type: "POST",   //访问WebService使用Post方式请求
                contentType: "application/json",
                url: "AjaxWebService.aspx/HandlerEvent01", //调用WebService的地址和方法名称组合 ---- WsURL/方法名                    
                data: "{&#39;para&#39;:&#39;bill&#39;,&#39;para2&#39;:&#39;28&#39;}",  //这里是要传递的参数&#xff0c;格式为 data: "{paraName:paraValue}" 需要注意参数名跟后台方法参数名对应                   
                dataType: &#39;json&#39;,   //WebService 返回Json类型 或者 Json/string                   
                success: function (re) {
                    $(&#39;#re_method04&#39;).html(re.d);
                }
            });
后台&#xff1a;
[WebMethod]
        public static string HandlerEvent01(string para, string para2)
        {
            return "AjaxWebService.aspx/Ajax Frame No.4";
        }

可返回json或者string.返回的数据格式为 {"d":你的数据}。这也是为什么我们前台取值的时候会是re.d。通常我们返回的数据类型可以为&#xff0c;普通字符串&#xff0c;自定义对象&#xff0c;泛型列表&#xff0c;我们看看返回不同类型数据时前端json数据的格式

1.返回字符串
json:{"d":"字符串"}
2.返回类型为自定义对象, 前端返回值为一个对应的JSON对象
json:{"d":{"name1":"value1","name2":"value2"...}}

3&#xff0c;返回类型为泛型列表&#xff0c; 前端返回值为对应的JSON对象数组。

如果我们异步就是需要返回json格式数据&#xff0c;这样就很方便。同时&#xff0c;除了以WebService的方式被调用&#xff0c;这个页面也可以以普通URL的方式来异步访问&#xff0c;也就是&#xff08;1&#xff09;的情况。

&#xff08;5&#xff09;调用webservice

&#xff08;6&#xff09;MVC中的Ajax异步实现

1.直接在控制器中写public string Ajax(){return "re";}方法&#xff0c;不用额外建视图文件。

2.或者你要返回的内容结构还比较复杂&#xff0c;新建一个_Ajax.cshtml分部视图。控制器中代码&#xff1a;

public ActionResult Ajax()      {

     //...your code...

    return PartialView("_Ajax");

        }

前台调用代码&#xff1a;

$.post("/控制器名/ajax" , { type:&#39;getData01&#39; },function(re){

        $(&#39;#re_method01&#39;).html(re);

    });

     Demo源码&#xff1a;下载



转:https://www.cnblogs.com/hailiang2013/archive/2012/07/12/2846418.html



推荐阅读
  • 使用 Azure Service Principal 和 Microsoft Graph API 获取 AAD 用户列表
    本文介绍了一段通用代码示例,该代码不仅能够操作 Azure Active Directory (AAD),还可以通过 Azure Service Principal 的授权访问和管理 Azure 订阅资源。Azure 的架构可以分为两个层级:AAD 和 Subscription。 ... [详细]
  • 本文详细介绍了中央电视台电影频道的节目预告,并通过专业工具分析了其加载方式,确保用户能够获取最准确的电视节目信息。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文介绍了如何利用JavaScript或jQuery来判断网页中的文本框是否处于焦点状态,以及如何检测鼠标是否悬停在指定的HTML元素上。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 本文介绍了如何使用JQuery实现省市二级联动和表单验证。首先,通过change事件监听用户选择的省份,并动态加载对应的城市列表。其次,详细讲解了使用Validation插件进行表单验证的方法,包括内置规则、自定义规则及实时验证功能。 ... [详细]
  • 前言--页数多了以后需要指定到某一页(只做了功能,样式没有细调)html ... [详细]
  • 本文探讨了在不使用服务器控件的情况下,如何通过多种方法获取并修改页面中的HTML元素值。除了常见的AJAX方式,还介绍了其他可行的技术方案。 ... [详细]
  • 扫描线三巨头 hdu1928hdu 1255  hdu 1542 [POJ 1151]
    学习链接:http:blog.csdn.netlwt36articledetails48908031学习扫描线主要学习的是一种扫描的思想,后期可以求解很 ... [详细]
  • 本文探讨了领域驱动设计(DDD)的核心概念、应用场景及其实现方式,详细介绍了其在企业级软件开发中的优势和挑战。通过对比事务脚本与领域模型,展示了DDD如何提升系统的可维护性和扩展性。 ... [详细]
  • 本文介绍了多个关于JavaScript的书籍资源、实用工具和编程实例,涵盖从入门到进阶的各个阶段,帮助读者全面提升JavaScript编程能力。 ... [详细]
  • 本文详细介绍了如何在Kendo UI for jQuery的数据管理组件中,将行标题字段呈现为锚点(即可点击链接),帮助开发人员更高效地实现这一功能。通过具体的代码示例和解释,即使是新手也能轻松掌握。 ... [详细]
  • 本文提供了多种方法来计算给定年份和月份的起始日和结束日,并进一步探讨了如何根据年、月、周获取特定周的起始日和结束日。 ... [详细]
  • Asp.net MVC 中 Bundle 配置详解:合并与压缩 JS 和 CSS 文件
    本文深入探讨了 Asp.net MVC 中如何利用 Bundle 功能来合并和压缩 JavaScript 和 CSS 文件,提供了详细的配置步骤和示例代码,适合开发人员参考学习。 ... [详细]
  • 本文深入探讨了JavaScript中实现继承的四种常见方法,包括原型链继承、构造函数继承、组合继承和寄生组合继承。对于正在学习或从事Web前端开发的技术人员来说,理解这些继承模式对于提高代码质量和维护性至关重要。 ... [详细]
author-avatar
mobiledu2502862343
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有