JS原生对象实现异步请求以及JQ的ajax请求四种方式
一、JS原生方式异步请求
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="AjaxLogin.aspx.cs" Inherits="ThreeLayerWebDemo._2019_7_6.Ajax.AjaxLogin" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<table>
<tr>
<td>用户名:</td>
<td>
<asp:TextBox ID="txtName" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>密 码:</td>
<td>
<asp:TextBox ID="txtPwd" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td colspan="">
<input type="button" value="提交" id="btnLogin"/>
</td>
</tr>
</table>
</div>
</form>
<script type="text/javascript">
var btn = document.getElementById("btnLogin");
btn.onclick = function () {
var txtName = document.getElementById("txtName");
var txtPwd = document.getElementById("txtPwd");
var strUrl = "ProcessLogin.aspx?name=" + txtName.value + "&pwd=" + txtPwd.value;
myAjax("get", strUrl, function (data) {
if (data == "ok") {
window.location.href = "../../2019-6-29/CRUD/MainFrame.aspx";
} else {
alert(data);
}
});
};
function myAjax(httpMethod,url,callback){
//发送异步请求
var xhr;
if (XMLHttpRequest) {
xhr = new XMLHttpRequest();
}
else {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
};
xhr.open(httpMethod, url, true);
xhr.send();
xhr.onreadystatechange = function () {
if (xhr.readyState == && xhr.status == ) {
callback(xhr.responseText);
}
};
}
</script>
</body>
</html>
二、Jquery方式异步请求的四种写法
方式一(GET):
<input type="button" value="获取后台的时间" id="btnJqGetDateTime"/>
<script src="../../Script/jquery-3.4.1.js"></script>
<script type="text/javascript">
$("#btnJqGetDateTime").click(function () {
//第一个参数,url地址;第二个参数:传入后台数据;第三个参数:回调函数
$.get("AjaxServer.ashx", {id:123,name:"alex"}, function (data) {
alert(data);
});
});
</script>
方式二(POST):
<input type="button" value="获取后台的时间" id="btnJqGetDateTime"/>
<script src="../../Script/jquery-3.4.1.js"></script>
<script type="text/javascript">
$("#btnJqGetDateTime").click(function () {
//第一个参数,url地址;第二个参数:传入后台数据;第三个参数:回调函数
$.post("ajaxserver.ashx", {id:123,name:"alex"}, function (data) {
alert(data);
});
});
</script>
方式三(要求后台返回JSON):
<input type="button" value="获取后台的时间" id="btnJqGetDateTime"/>
<script src="../../Script/jquery-3.4.1.js"></script>
<script type="text/javascript">
$("#btnJqGetDateTime").click(function () {
//第一个参数,url地址;第二个参数:传入后台数据;第三个参数:回调函数
$.getJSON("returnJsonDate.ashx", { id: 123, name: "alex" }, function (data) {
alert(data.Date);
});
});
</script>
方式四(推荐这种方式):
<input type="button" value="获取后台的时间" id="btnJqGetDateTime"/>
<script src="../../Script/jquery-3.4.1.js"></script>
<script type="text/javascript">
$("#btnJqGetDateTime").click(function () {
$.ajax({
url: "returnJsonDate.ashx", //url地址
type:"post", //请求方式
data: "id=22&ss=ff", //传入后台数据
cache:false, //强迫当前请求必须去后台拿数据
dataType:"json", //返回数据类型
success: function (data) { //请求成功后的回调函数
alert(data.Date);
},
error: function (err) //请求失败的回调函数
{
alert(err);
}
})
});
</script>
JS原生对象实现异步请求以及JQ的ajax请求四种方式的更多相关文章
- 认识JQuery,JQuery的优势、语法、多库冲突、JS原生对象和JQuery对象之间相互转换和DOM操作,常用的方法
(一)认识JQuery JQuery是一个JavaScript库,它通过封装原生的JavaScript函数得到一套定义好的方法 JQuery的主旨:以更少的代码,实现更多的功能 (二)JQue ...
- JS与JQ绑定事件的几种方式.
JS与JQ绑定事件的几种方式 JS绑定事件的三种方式 直接在DOM中进行绑定 <button onclick="alert('success')" type="bu ...
- jq使用ajax请求,返回状态 canceled错误
在使用jq,ajax请求时出现该错误 原因:button按钮类型为type=submit ,script中又自定用botton按钮点击提交ajax,造成冲突. 解决方法:button按钮类型改为 ty ...
- Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,拦截器Ajax请求
Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,拦截器Ajax请求 >>>>>>>>>>>>>>&g ...
- js 复制文本的四种方式
js 复制文本的四种方式 一.总结 一句话总结:js文本复制主流方法:document的execCommand方法 二.js 复制文本的四种方式 纯 转载复制,非原创 原地址:http://www.c ...
- Android异步更新UI的四种方式
Android异步更新UI的四种方式 2015-09-06 09:23 segmentfault 字号:T | T 大家都知道由于性能要求,android要求只能在UI线程中更新UI,要想在其他线程中 ...
- js 实现复制功能的四种方式的优劣对比
今日网上浏览别人项目,看到有人用了document.execCommand这个属性,于是想起之前我选用Clipboard.js 来实现.对于这种不常用的属性还是不太放心,于是随手查了下关于复制的资料, ...
- jq绑定事件的4种方式
jQuery提供了多种绑定事件的方式,每种方式各有其特点,明白了它们之间的异同点,有助于我们在写代码的时候进行正确的选择,从而写出优雅而容易维护的代码.下面我们来看下jQuery中绑定事件的方式都有哪 ...
- js动态引入的四种方式
index.html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http:// ...
随机推荐
- jQuery 源码解析(二十六) 样式操作模块 样式详解
样式操作模块可用于管理DOM元素的样式.坐标和尺寸,本节讲解一下样式相关,样式操作通过jQuery实例的css方法来实现,该方法有很多的执行方法,如下: css(obj) ;参数 ...
- SpringBoot整合MyBatis-Plus3.1详细教程
作者:Sans_ juejin.im/post/5cfa6e465188254ee433bc69 一.说明 Mybatis-Plus是一个Mybatis框架的增强插件,根据官方描述,MP只做增强不做改 ...
- [Spring cloud 一步步实现广告系统] 12. 广告索引介绍
索引设计介绍 在我们广告系统中,为了我们能更快的拿到我们想要的广告数据,我们需要对广告数据添加类似于数据库index一样的索引结构,分两大类:正向索引和倒排索引. 正向索引 通过唯一键/主键生成与对象 ...
- 面试再问ThreadLocal,别说你不会
转载自:公众号<Java知音> ThreadLocal是什么 以前面试的时候问到ThreadLocal总是一脸懵逼,只知道有这个哥们,不了解他是用来做什么的,更不清楚他的原理了.表面上看他 ...
- gor实现线上HTTP流量复制压测引流
一.使用背景 gor 是一款go语言实现的简单的http流量复制工具,它的主要目的是使你的生产环境HTTP真实流量在测试环境和预发布环境重现.只需要在 代理例如nginx入口服务器上执行一个进程,就可 ...
- JAVA微信企业付款到零钱(十分钟搞定),附完整DEMO下载
最近帮朋友做了一个简单的微分销系统,实现从企业付款到零钱分润的功能,简单记录一下微信企业付款到零钱的开发过程, 主要就是按规则封装好请求参数调用微信接口,涉及一些签名校验: A.接口流程 1. 获取用 ...
- Android Gradle 学习笔记(四):Gradle 构建脚本
本节我们从整体的角度来介绍一下Gradle. 一.setting.gradle 在Gradle中,定义了一个设置文件,用于初始化以及工程树的配置.设置文件的默认的名字就是setting.gradle, ...
- Oracle 备份数据库
[目录] ①备份数据库(https://www.cnblogs.com/xqz0618/p/oracle_backup.html) ②定时备份数据库(https://www.cnblogs.com/x ...
- Android进阶之绘制-自定义View完全掌握(二)
这是自定义View系列的第二篇博客,我们继续来学习关于自定义View的知识. 今天我们来实现一下广告条案例. 我们要实现的是这样的一个效果. 要想实现这样的效果,我们可以借助ViewPager控件,然 ...
- Linux:Apache服务器的搭建
下载安装并启动apache服务 安装apache服务 yum install -y httpd 启动apache服务 systemctl start httpd.service apache服务器的目 ...