但是如果是VS2005的话,需要相应配置。。。
VS2005中安装AJAX
1,下载并安装 ASPAJAXExtSetup.msi
下载完 ASPAJAXExtSetup.msi 安装更新后在你的系统盘下的(以C盘为例) 出现这个 文件夹:
C:\Program Files\Microsoft asp.NET\ASP.NET 2.0 ajax Extensions\v1.0.61025
安装这个后我们就可以创建Asp.net AJAXEnabledWebSite站点了,这其实就是个ajax.net网站的模板。但是我们现在还不能使用微软给我们开发好的ajax控件。
2.下载AjaxControlToolkit
http://www.codeplex.com/AtlasControlToolkit/Release/ProjectReleases.aspx?ReleaseId=11121有带源代码的 和不带源代码的toolkit。建议下载带源代码的 toolkit。下载完成后把该文件解压到:ASP.NET 2.0 ajax Extensions的目录下,进入,打开AjaxControlToolkit.sln.
编译稿亩TemplateVSI这个项目后,把在C:\Program Files\Microsoft asp.NET\ASP.NET 2.0 AJAX Extensions\SampleWebSite\Bin下面生成的AjaxControlToolkit.dll和 AjaxControlToolkit.pdb复制到
C:\Program Files\Microsoft asp.NET\ASP.NET 2.0 AJAX Extensions\Binaries文件夹下面,这样我们就可以在vs2005中使用ajax.net这些野册控件了。键脊森
新建一个Ajax ControlToolkitWebSite 类型的web项目。在工具栏中新添加一个选项卡起名:AjaxControltoolkit
在这个选项卡上右键选择项->浏览找到刚才复制过去的AjaxControlToolkit.dll,添加进来。这样我们就ajax.net控件成功引用到vs2005中了 。
好了,正确的安装方法应该是我上面写的,希望这样能够解决一些人安装AJAX过程中遇到的问题。
这是我笔记
什么是 AJAX ?
AJAX = 异步 JavaScript 和 XML。
AJAX 是一种用于创建快速动态网页的技术。
通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
传统的网页(不使用 AJAX)如果需要更新内容,必需重载整个网页面。
有很多使用 AJAX 的应用程序案例:新浪微博、Google 地图、开心网等等。
一. AJAX - 创建 XMLHttpRequest 对象
所有现代浏览器(IE7+、Firefox、Chrome、Safari 以及 Opera)均内建 XMLHttpRequest 对象。
创建 XMLHttpRequest 对象的语法:
XMLHTTP = new XMLHttpRequest()
老版本的 Internet Explorer (IE5 和 IE6)使用 ActiveX 对象:
XMLHTTP = new ActiveXObject("Microsoft.XMLHTTP")
为了应对所有的现代浏览器,包括 IE5 和 IE6,请检查浏览器是否支持 XMLHttpRequest 对象。如果支持,则创建 XMLHttpRequest
对象。如果不支持,则创建 ActiveXObject :
var xmlhttp
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest()
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")
}
二. AJAX - 向扰孙服务器发送请求
读取test1.txt文本
xmlhttp.open("GET","test1.txt",true)
xmlhttp.send()
方法 描述
open(method,url,async) 规定请求的类型、URL 以及是否异步处理请求。
&#8226method:请求的类型;GET 或 POST
&#8226url:文件缓桐链在服务器上的位置
&#8226async:true(异步)或 false(同步)
send(string) 将请求发送到服务器。
&#8226string:仅用于 POST 请求
GET 请求
一个简单的 GET 请求:
xmlhttp.open("GET","demo_get.asp",true)
xmlhttp.send()
在上面的例子中,您可能得到的是缓存的结果.比如读取文件test1.txt一次后,再次点击按钮不读取.
为了避免这种情况,请向 URL 添加一个唯一的 ID:或者在后面添加用个变动的字符.
xmlhttp.open("GET"轮坦,"demo_get.asp?t=" + Math.random(),true)
xmlhttp.send()
POST 请求
一个简单 POST 请求:
xmlhttp.open("POST","demo_post.asp",true)
xmlhttp.send()
如果需要像 HTML 表单那样 POST 数据,请使用 setRequestHeader() 来添加 HTTP 头。然后在 send() 方法中规定您希望发送的数据:
xmlhttp.open("POST","ajax_test.asp",true)
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded")
xmlhttp.send("fname=Bill&lname=Gates")
方法 描述
setRequestHeader(header,value) 向请求添加 HTTP 头。
&#8226header: 规定头的名称
&#8226value: 规定头的值
url - 服务器上的文件
异步 - True 或 False?
AJAX 指的是异步 JavaScript 和 XML(Asynchronous JavaScript and XML)。
XMLHttpRequest 对象如果要用于 AJAX 的话,其 open() 方法的 async 参数必须设置为 true:
xmlhttp.open("GET","ajax_test.asp",true)
对于 web 开发人员来说,发送异步请求是一个巨大的进步。很多在服务器执行的任务都相当费时。AJAX 出现之前,这可能会引起应用程序挂起或停止。
通过 AJAX,JavaScript 无需等待服务器的响应,而是:
在等待服务器响应时执行其他脚本
当响应就绪后对响应进行处理
Async = true
当使用 async=true 时,请规定在响应处于 onreadystatechange 事件中的就绪状态时执行的函数:
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText
}
}
xmlhttp.open("GET","test1.txt",true)
xmlhttp.send()
三. AJAX - 服务器响应
接收传送过来的数据,用对应语言的from 或get方法.
输出文本在客户端用
如需获得来自服务器的响应,请使用 XMLHttpRequest 对象的 responseText 或 responseXML 属性。
responseText 属性
document.getElementById("myDiv").innerHTML=xmlhttp.responseText
responseXML 属性
xmlDoc=xmlhttp.responseXML
txt=""
x=xmlDoc.getElementsByTagName("ARTIST")
for (i=0i<x.lengthi++)
{
txt=txt + x[i].childNodes[0].nodeValue + "<br />"
}
document.getElementById("myDiv").innerHTML=txt
四. AJAX - onreadystatechange 事件
通过事件来触发判断是否接收成功.和接收数据.改变前台内容.当请求被发送到服务器时,我们需要执行一些基于响应的任务。
每当 readyState 改变时,就会触发 onreadystatechange 事件。readyState 属性存有 XMLHttpRequest 的状态信息。下面是 XMLHttpRequest 对象的三个重要的属性:
下面是 XMLHttpRequest 对象的三个重要的属性:
属性 描述
onreadystatechange 存储函数(或函数名),每当 readyState 属性改变时,就会调用该函数。
readyState 存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。
&#82260: 请求未初始化
&#82261: 服务器连接已建立
&#82262: 请求已接收
&#82263: 请求处理中
&#82264: 请求已完成,且响应已就绪
status 200: "OK"
404: 未找到页面
使用 Callback 函数
callback 函数是一种以参数形式传递给另一个函数的函数。
如果您的网站上存在多个 AJAX 任务,那么您应该为创建 XMLHttpRequest 对象编写一个标准的函数,并为每个 AJAX 任务调用该函数。
该函数调用应该包含 URL 以及发生 onreadystatechange 事件时执行的任务(每次调用可能不尽相同):
<script type="text/javascript">
var xmlhttp
function loadXMLDoc(url,cfunc)
{
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest()
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")
}
xmlhttp.onreadystatechange=cfunc
xmlhttp.open("GET",url,true)
xmlhttp.send()
}
function myFunction()
{
loadXMLDoc("/ajax/test1.txt",function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText
}
})
}
</script>
服务器端通对应的方法POST GET 等 接收 .输出 是直接输出..
ajax
1.什么是ajax
Ajax 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。
通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新
2.阻止ajax缓存才能实时更新
ajax('aaa.txt?='+new Date().getTime(),//能够实时更新毕销不用刷新
function(str)
{
alert(str)
},
function()
{
alert(’读取失败‘
})
3.提交方式
get:通过网址放到url里,安全性低,容量小 更适合于获取
post:http content ,容量大 更适合于给服务器上传
4.创建ajax
1)创建ajax对象
2) 链接到服务器
3)发送请求
4)接受返回值
function ajax(url, fnSucc, fnFaild)
{
//1.创建Ajax对象
if(window.XMLHttpRequest)
{
var oAjax=new XMLHttpRequest()
}
else
{
var oAjax=new ActiveXObject("Microsoft.XMLHTTP")
}
//手散游2.连接服务器
//open(方法, 文件名, 异步传输)
oAjax.open('GET', url, true)
//3.发送请求
oAjax.send()
//4.接收返回
oAjax.onreadystatechange=function ()
{
//oAjax.readyState //浏览器和服务器,进行到哪一步了
if(oAjax.readyState==4) //读取完成
{
if(oAjax.status==200) //成功 atus:http状态码
{
fnSucc(oAjax.responseText)
}
else
{
if(fnFaild)
{
fnFaild(oAjax.status)
}
//alert('失败:'+oAjax.status)
}
}
}
}
在jquery中封装好了ajax给我们调用,用$.ajax调用,具体参数见
https://www.cnblogs.com/cvst/articles/5817916.html
同时,今天练习了ajax与php分别用xml json 格式传输数据
用json的掘蠢时候有个地方太坑人了
就是key/value 中只能识别双引号,所以在js中最好也都用双引号
判断传输的数据是什么类型
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)