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:// ...
随机推荐
- SpringCloud的入门学习之概念理解、Zuul路由网关
1.Zuul路由网关是什么? 答:Zuul包含了对请求的路由和过滤两个最主要的功能,其中路由功能负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础而过滤器功能则负责对请求的处理过程进 ...
- golang中,new和make的区别
在golang中,make和new都是分配内存的,但是它们之间还是有些区别的,只有理解了它们之间的不同,才能在合适的场合使用. 简单来说,new只是分配内存,不初始化内存: 而make即分配又初始化内 ...
- 结对编程项目复盘:带UI的小初高数学学习软件
实现个人项目时,由于我当时的Java GUI编程基础还比较薄弱,所以我选择通过命令行实现,并将编程开发的重点放到了算法效率上去.没能设计出用户体验更佳的UI成为了我在个人项目阶段最大的遗憾. 在这次结 ...
- CSS 让div,span等块级、非快级元素排列在同一行
让div,span等块级.非快级元素排列在同一行 by:授客 QQ:1033553122 例子:让两个div排列在同一行 给div添加float样式 <!DOCTYPE html> < ...
- OpenCV:图像平滑和图像模糊处理
导包: import numpy as np import cv2 import matplotlib.pyplot as plt def show(image): plt.imshow(image) ...
- 【React Native】进阶指南之一(特定平台、图片加载、动画使用)
一.特定平台代码 React Native提供了两种方法来区分平台: 使用Platform模块: 使用特定平台扩展名: 1.Platform模块 React Native提供了一个检测当前运行平台的模 ...
- 地图SDK全面升级 – 数十项新功能及优化等你来体验
腾讯位置服务地图SDK是一套提供多种地理位置服务的应用程序接口.通过调用该接口,开发者可以在自己的应用中加入地图相关的功能(如地图展示.标注.绘制图形等),轻松访问腾讯地图服务和数据,构建功能丰富.交 ...
- 团队展示&选题
团队展示 1.队名:螺旋升天队 2.队员学号: 李光证 3117004660 (队长) 卢俊杰 3117004662 吴子昊 3117004671 陈浩民 3117004646 陈俊铭 3117004 ...
- 并发编程 ~~~ 多进程~~~进程创建的两种方式, 进程pid, 验证进程之间的空间隔离, 进程对象join方法, 进程对象其他属性
一 进程创建的两种方式 from multiprocessing import Process import time def task(name): print(f'{name} is runnin ...
- Ubuntu下doxygen+graphviz使用概录
关键词:doxygen.Doxyfile.doxywizard.dot.graphviz等等. 使用doxygen从源码注释生成帮助文档或者SDK,输出格式有多种比如htmp.Latex等等. 如果想 ...