热门标签 | 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



推荐阅读
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • HTML5网页模板怎么加百度统计?
    本文介绍了如何在HTML5网页模板中加入百度统计,并对模板文件、css样式表、js插件库等内容进行了说明。同时还解答了关于HTML5网页模板的使用方法、表单提交、域名和空间的问题,并介绍了如何使用Visual Studio 2010创建HTML5模板。此外,还提到了使用Jquery编写美好的HTML5前端框架模板的方法,以及制作企业HTML5网站模板和支持HTML5的CMS。 ... [详细]
  • Android实战——jsoup实现网络爬虫,糗事百科项目的起步
    本文介绍了Android实战中使用jsoup实现网络爬虫的方法,以糗事百科项目为例。对于初学者来说,数据源的缺乏是做项目的最大烦恼之一。本文讲述了如何使用网络爬虫获取数据,并以糗事百科作为练手项目。同时,提到了使用jsoup需要结合前端基础知识,以及如果学过JS的话可以更轻松地使用该框架。 ... [详细]
  • 本文介绍了Java后台Jsonp处理方法及其应用场景。首先解释了Jsonp是一个非官方的协议,它允许在服务器端通过Script tags返回至客户端,并通过javascript callback的形式实现跨域访问。然后介绍了JSON系统开发方法,它是一种面向数据结构的分析和设计方法,以活动为中心,将一连串的活动顺序组合成一个完整的工作进程。接着给出了一个客户端示例代码,使用了jQuery的ajax方法请求一个Jsonp数据。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • Html5-Canvas实现简易的抽奖转盘效果
    本文介绍了如何使用Html5和Canvas标签来实现简易的抽奖转盘效果,同时使用了jQueryRotate.js旋转插件。文章中给出了主要的html和css代码,并展示了实现的基本效果。 ... [详细]
  • 本文讨论了如何在codeigniter中识别来自angularjs的请求,并提供了两种方法的代码示例。作者尝试了$this->input->is_ajax_request()和自定义函数is_ajax(),但都没有成功。最后,作者展示了一个ajax请求的示例代码。 ... [详细]
  • 本文介绍了如何使用jQuery和AJAX来实现动态更新两个div的方法。通过调用PHP文件并返回JSON字符串,可以将不同的文本分别插入到两个div中,从而实现页面的动态更新。 ... [详细]
  • 从零基础到精通的前台学习路线
    随着互联网的发展,前台开发工程师成为市场上非常抢手的人才。本文介绍了从零基础到精通前台开发的学习路线,包括学习HTML、CSS、JavaScript等基础知识和常用工具的使用。通过循序渐进的学习,可以掌握前台开发的基本技能,并有能力找到一份月薪8000以上的工作。 ... [详细]
  • jQuery如何判断一个元素是否被点击?
    本文介绍了使用jQuery判断一个元素是否被点击的方法,并通过示例进行了具体说明。注意要指定父级,否则会执行多次。 ... [详细]
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社区 版权所有