Ajax的几种形式 和使用情况
Ajax的几种形式:
1 $.get(
"Login.ashx",
{Name:name,Pwd:pwd,action:x},
function(data){这里用data的返回值进行if判断}
)
2 $.ajax({
type:"post",
url:“Register.ashx”,
data:”Name=”+name+”&&Pwd=”+pwd+”&&action=1”,
//data:{name:name,pwd:pwd,action:2},
Success:function(data){
if (data == "1") {
alert("注Á¡é册¨¢成¨¦功|");
window.location.href = "GetTime.htm";
}
else {
alert("注Á¡é册¨¢失º¡ì败㨹");
}
}
})
3 $.getJSON(
"GetJson.ashx",
{ name: $("#uname").val(), action: 2 },
function (data) {
$("#result tbody").empty();
$.each(data, function (index, item) {
$("#result tbody").append("<tr><td>" + item.ID + "</td><td>" + item.UserName + "</td><td>" + item.Pwd + "</td></tr>");
// $("#result tbody").append("<tr><td>" + item.ID + "</td><td>" + item.UserName + "</td><td>" + item.Pwd + "</td><td><a href='Del.aspx?id="+id+">删¦?除y</a></td><td><a href='Update.aspx?id="+id+"'>修T改?</a></td></tr>");
});
$("#result").show();
});
----------------------------------------------------------------------------------------------------------------
注册:
用户名(id=name),密码(id=pwd),确认密码(id=confirpwd),提交(id=btn)
$(function(){
//就是一个注册事件
$("#btn").click(function(){
//点击btn要判断是不是为空,
var Na=$("#name").val();
var Pw=$("#pwd").val();
var ConPwd=$("#confirpwd").val();
//给一个为空的提示
var err="";
if(Na=="")
{err=err+"用户名不能为空";}
if(Pw=="")
{ere+="密码不能为空";}
if(ConPwd=="")
{err+="确认密码不能为空";}
if(Pw!=ConPwd)
{ err+="俩次密码不一致"; }
if(err!="")
{ Alert(err); return; }
$.ajax({
type:"get",
url:"Hello world.ashx",
data="name="+name+"&pwd="+pwd,
success: function(data){
if(data=="1")
{
alert("注册成功");
window.location.href = "GetTime.htm";
}
else
{
alert(注册失败);
}
}
})
});
});
Ajax=异步JavaScript和xml;
Ajax是通过在后台与服务器进行少量的数据交换,ajax可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
报文指的就是一串数据,就是要传送的的东西
在不同的浏览器中创建对象的方式不同
在IE5/6为 :
var xmlRequest = new ActiveXObject(“Microsoft.XMLHTTP”);
在IE、Firefox、safari和Opera中创建该对象的JavaScript代码为:
var xhr = new XMLHttpRequest();
Ajax在本质上是浏览器端的技术,
Ajax的核心就是创建XMLHttpRequest对象
1. XMLHttpRequest xhr=new XmlHttpRequest(); 创建对象(new 叫助手过来)
2. xhr.Open("post","Hello world.html",ture);创建请求(open 告诉他要做的事)
3. xhr.send("name="+name.value);发送请求(send 去吧),附带传参数
异步使用XMLHttpRequest对象时,必须使用onreadyStatechange事件
1.创建一个对象
2.设置onreadyStatechange事件,触发一个回调函数
xhr.onreadyStatechange=watching;
function watching(){}
xhr.onreadyStatechange=function(){
if(xhr.readyState==4)请求状态
{
if(xhr.Status==200)服务器返回的状态码
{
var span=document.getelementById("ename");
span.innerHtml=xhr.responseText;
}
}
}
----查询ID,展现出账号密码
用户名:<input type="text" id="uid">
<input type="botton" id="btn" value="查询">
<table id="result">
<tr><td>ID</td><td>用户名</td><td>密码</td></tr>
</table>
<script>
$(function(){
$("#Btn").clicl(function(){
var id=$("#uid").val();
if(id=="")
{
return ;
}
$.getJSON(
"GetJson.ashx",
{ID:id},
function(data){
$("#result tbody").append("<tr><td>"+data.ID+"</td><td>"+data.UserName+"</td><td>"+data.UserName
+"</td></tr>");
$("#result").show();
})
})
})
</script>
||||||||||||||||
int id=Convert.ToInt32(context.Request["ID"]);//接受前台的传值过来
UserBll userbll=new UserBll();
UsersModel user=new UsersModel();
user=userbll.GetModel(id);
string s="{ID:"+user.ID+",name:"+userName.UserName+",pwd:"+user.Pwd+"}";
//JavaScriptSerializer js = new JavaScriptSerializer();
// string s = js.Serialize(user);
context.Response.write(s);
-----------------------------------------------------------------------------------------
获取时间
<input type="button" id="GetTime" values="获取时间"/>
<div id="ShowTime"></div>
<script>
window.onload=function(){
var BtnTime=document.getElementById("#GetTime");
BtnTime.onclick=function(){
var showTime=document.GetElementById("ShowTime");
var xhr;
xhr=new XMLHttpRequest();
xhr.open("get","Gettime.ashx?name="+"2b",ture),
xhr.send();
xhr.onreadystatechange=function(){
if(xhr.readyState==4)
{
if(xhr.status==200)
{
showTime.innerHTML=xhr.responseText;
}
}
}
}
}
<script>
||||||||||||||||||||
string name=context.Request["name"];
context.Response.write(name+"你好,现在时间是"+DateTime.Now.ToString());
-------------------------------------------------------------------------------
<script>
window.onload=function(){
var uname=document.GetElementById("uname");
uname.onblur=function(){
if(uname.value=="")
{
return;
}
else
{
var xhr=new XMLHttpRequest();
xhr.open("post","Regiater.ashx",ture),
xhr.send("name="+uname.value+"&action=1");
xhr.onreadystatechange=function(){
if(xhr.readyState==4)
{
if(xhr.status==200)
{
var span=document.getElementById("ename");
span.innerHTML=xhr.responseText:+"日期"+xhr.getRequestHeader("date");
span.innerHTML=xhr.responseText;
}
}
}
}
}
}
---------------------------------------------------------------------
$(function(){
$("btnReg").click(function(){
var name=$("uname").val();
var pwd=$("upwd").val();
var repwd=$("#repwd").val();
var span=$("#ename").val();
var err="";
if (span != "") {
err = err + "用户名已存在";
}
if (name == "") {
err += "用户名不能为空!\n";
}
if (pwd == "") {
err += "密码不能为空\n";
}
if (repwd == "") {
err += " 确认密码不能为空\n";
}
if (pwd != repwd) {
err += "俩次密码不一样\n";
}
if (err != "") {
alert(err);
return;
}
$.ajax({})
$.ajax({
type:"post",
url:"Regiter.ashx",
data:"name="+name+"&pwd="+pwd+"&action=2",
//data:{name:name,pwd:pwd,action:2},
success:function(data){
if(data=="1")
{
alter("注册成功");
window.location.href="GetTime.html";
}
else
{
alert("注册失败");
}
}
})
})
})
<script>
<table>
<tr><td>用户名:</td><td><input type="text" id="uname"><span id="ename"></span></td></tr>
<tr><td>密码:</td><td><input type="password" id="upwd" /></td></tr>
<tr><td>确认密码:</td><td><input type="password" id="repwd" /></td></tr>
<tr><td></td><td><input type="button" value="注册" id="btnReg" /></td></tr>
</table>
|||||||||||||||||||||||||||||||
UsersBll userbll = new UsersBll();
//context.Response.Write("Hello World");
#region
string uname = context.Request["name"];//接受data里的name;
string pwd = context.Request["pwd"];
string action=context.Request["action"];
if (action == "1")//验证用户名是否存在
{
bool tag = userbll.Exist(uname);//bll里都是方法
if (tag)
{
context.Response.Write("用户名存在");
}
else
{
context.Response.Write("");
}
}
else if (action == "2")//注册用户,执行注册代码
{
UsersModel user = new UsersModel();
user.UserName = uname;
user.Pwd = pwd;
int result = userbll.Add(user);
if (result > 0)
{
context.Response.Write(1);//去前台
}
else
{
context.Response.Write("注册失败");
}
}
Ajax的几种形式 和使用情况的更多相关文章
- C++:一般情况下,设计函数的形参只需要两种形式
C++:一般情况下,设计函数的形参只需要两种形式.一,是引用形参,例如 void function (int &p_para):二,是常量引用形参,例如 void function(const ...
- ASP.NET MVC深入浅出(被替换) 第一节: 结合EF的本地缓存属性来介绍【EF增删改操作】的几种形式 第三节: EF调用普通SQL语句的两类封装(ExecuteSqlCommand和SqlQuery ) 第四节: EF调用存储过程的通用写法和DBFirst模式子类调用的特有写法 第六节: EF高级属性(二) 之延迟加载、立即加载、显示加载(含导航属性) 第十节: EF的三种追踪
ASP.NET MVC深入浅出(被替换) 一. 谈情怀-ASP.NET体系 从事.Net开发以来,最先接触的Web开发框架是Asp.Net WebForm,该框架高度封装,为了隐藏Http的无状态 ...
- es6 Object.assign ECMAScript 6 笔记(六) ECMAScript 6 笔记(一) react入门——慕课网笔记 jquery中动态新增的元素节点无法触发事件解决办法 响应式图像 弹窗细节 微信浏览器——返回操作 Float 的那些事 Flex布局 HTML5 data-* 自定义属性 参数传递的四种形式
es6 Object.assign 目录 一.基本用法 二.用途 1. 为对象添加属性 2. 为对象添加方法 3. 克隆对象 4. 合并多个对象 5. 为属性指定默认值 三.浏览器支持 ES6 O ...
- 代替jquery $.post 跨域提交数据的N种形式
跨域的N种形式: 1.直接用jquery中$.getJSON进行跨域提交 优点:有返回值,可直接跨域: 缺点:数据量小: 提交方式:仅get (无$.postJSON) $.getJSON(" ...
- javascript面向对象系列第三篇——实现继承的3种形式
× 目录 [1]原型继承 [2]伪类继承 [3]组合继承 前面的话 学习如何创建对象是理解面向对象编程的第一步,第二步是理解继承.本文是javascript面向对象系列第三篇——实现继承的3种形式 [ ...
- 移动端App广告常见的10种形式
什么是App广告? App广告,或称In-App广告,是指智能手机和平板电脑这类移动设备中第三方应用程序内置广告,属于移动广告的子类别. App广告兴起得益于其载体—App的风行.平板电脑和大屏触 ...
- Qt学习 之 多线程程序设计(QT通过三种形式提供了对线程的支持)
QT通过三种形式提供了对线程的支持.它们分别是, 一.平台无关的线程类 二.线程安全的事件投递 三.跨线程的信号-槽连接. 这使得开发轻巧的多线程Qt程序更为容易,并能充分利用多处理器机器的优势.多线 ...
- 第一节: 结合EF的本地缓存属性来介绍【EF增删改操作】的几种形式
一. 背景 说起EF的增删改操作,相信很多人都会说,有两种方式:① 通过方法操作 和 ② 通过状态控制. 相信你在使用EF进行删除或修改操作的时候,可能会遇到以下错误:“ The object c ...
- python变量和变量赋值的几种形式
动态类型的语言 python是动态类型的语言,不需要声明变量的类型. 实际上,python中的变量仅仅只是用来保存一个数据对象的地址.无论是什么数据对象,在内存中创建好数据对象之后,都只是把它的地址保 ...
随机推荐
- @dynamic与@synthesize的差别
如今非常多时候我们都已经不再使用@synthesizekeyword了,可是须要了解当中的原理: 一.@dynamic与@synthesize的差别 @property有两个相应的词.一个是@synt ...
- srw阅读笔记
第一章 p11,不要使用we来代表普遍意义上的人们,使用形式主语和被动语态
- bzoj2190: [SDOI2008]仪仗队(欧拉)
2190: [SDOI2008]仪仗队 题目:传送门 题解: 跟着企鹅大佬做题! 自己瞎搞搞就OK,不难发现,如果以C作为原点建立平面直角坐标系,那么在这个坐标系中,坐标为(x,y)且GCD(x,y) ...
- zzuoj--10401--物资调度(dfs)
A.物资调度 Time Limit: 2 Sec Memory Limit: 128 MB Submit: 93 Solved: 52 [Submit][Status][Web Board] De ...
- [jzoj 5178] [NOIP2017提高组模拟6.28] So many prefix? 解题报告(KMP+DP)
题目链接: https://jzoj.net/senior/#main/show/5178 题目: 题解: 我们定义$f[pos]$表示以位置pos为后缀的字符串对答案的贡献,答案就是$\sum_{i ...
- (转载)10个实用的但偏执的Java编程技术
10个实用的但偏执的Java编程技术 在沉浸于编码一段时间以后(比如说我已经投入近20年左右的时间在程序上了),你会渐渐对这些东西习以为常.因为,你知道的…… 作者:小峰来源:码农网|2015-09- ...
- Windows环境下使用Guard整合Compass和Livereload进行SASS的开发
配置运行环境 Guard,Compass 和 Livereload 是 Ruby 的 Gem 套件,需要 Ruby 运行环境.另外还需要安装 Ruby 的扩展开发包 Development-Kit,以 ...
- QT笔记 -- (1) .ui文件
刚开始写QT,designer用的不习惯,打开.ui文件看了一下,很容易读的xml文件,记录一下. 大体框架如下 <?xml version="1.0" encoding=& ...
- 初识Git(二)
与我们前一篇随笔一样创建文件夹,init我们创建的文件夹,并且创建一个test.txt文本文件,add文本文件,commit文本文件,接下来在文本文件中添加文本: 与上一次不同的是我们这一次在编辑文件 ...
- C语言-实现字符串倒序输出
方法1: Action(){//倒序输出 char *src="abcdefgh123"; char *desc; desc=(char *)malloc(100*sizeof(c ...