Javascript与Ajax
不使用jquery来处理ajax请求该怎么做?
首先要明确html中的某些数据需要从服务端获得,也就是客户端向服务端请求(request)数据,服务端就响应(response)这个请求,把客户端要的数据给它。服务端返回的数据格式多样,即可以是字符串,也可以是数字,也可以是对象。客户端接到这些数据后按自己的需要处理后显示在Html页面上。这个处理工作就交给Javascript来做。
Javascript处理Ajax异步请求要注意三点:
1、创建一个新的XMLHttpRequest对象;
2、创建一个获取数据的函数;
3、创建一个回调函数;
我们的目标是在文本框内输入名字传递给服务端,经过计算后在当前页面显示从服务端送回的数据。
<!DOCTYPE html>
<html>
<body>
<a href="http://www.ibm.com/developerworks/cn/xml/wa-ajaxintro2/">Ajax study</a>
</br>
Enter your name:
<input type="text" id="name" onChange="getInfo();" />
</br>
Show Ajax return data: <span id="getInfo"></span> <script type="text/javascript">
// javascript Ajax
// 创建新的请求对象
var request =new XMLHttpRequest(); // 获取数据
function getInfo(){
var name=document.getElementById('name').value;
var url="/get_info/"+escape(name);
// 打开请求
request.open("GET",url, true);
// 指定回调函数
request.onreadystatechange=updatePage;
// 发送请求(发送的内容为null表示通过Get请求)
request.send(null);
} // 回调函数(服务器向网页发起调用)
function updatePage(){
if(request.readyState==4){
if(request.status==200){
// 读取响应文本
var response=request.responseText;
// 可以处理返回的文本。若是json字符串则可转为对象以便处理。
// 转换为json对象的方式多种:
var jsonObj=eval('('+response+')');
// 或者:
var jsonobj=JSON.parse(response);
// 把数据返回给页面
document.getElementById('getInfo').innerHTML=jsonobj.name;
alert('You enter is : '+ jsonobj.name);
}
else if(request.status==404)
alert('request url does not exist.');
else
alert('error:status code is :' + request.status)
}
}
</script>
</body>
</html>
这里的
var response=request.responseText;
返回的就是一个字符串:
"{\n "age": 2,\n "name": "Hello world "\n}"
服务端代码:
# 这个显示 info.html 页面
@app.route('/info')
def xxx():
return render_template('info.html') # 这个是要执行的动作(必须要有个路由,html页面里的js需要这个url。函数名字随便起。)
@app.route('/get_info/<name>')
def x (name):
ls ={'name':name, 'age':2}
return jsonify(ls)
-- End --
Javascript与Ajax的更多相关文章
- 最新JavaScript、Ajax典藏级学习资料下载分类汇总 (2011年12月21日更新)
其他网站开发相关资料 超强HTML和xhtml,CSS精品学习资料下载汇总 最新htm ...
- 初识JavaScript,Ajax,jQuery,并比较三者关系
一.基本认识 1.JavaScript 定义: javaScript的简写形式就是JS,是由Netscape公司开发的一种脚本语言,一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态 ...
- JavaScript实现Ajax小结
置顶文章:<纯CSS打造银色MacBook Air(完整版)> 上一篇:<TCP的三次握手和四次挥手> 作者主页:myvin 博主QQ:851399101(点击QQ和博主发起临 ...
- 掌握 Ajax,第 2 部分: 使用 JavaScript 和 Ajax 发出异步请求
转http://www.ibm.com/developerworks/cn/xml/wa-ajaxintro2/ 掌握 Ajax,第 2 部分: 使用 JavaScript 和 Ajax 发出异步请求 ...
- javascript版Ajax请求
什么是Ajax请求,Ajax也就是“Asynchronous JavaScript and XML”(异步JavaScript和XML),无刷新数据读取.能减少流量的消耗,也提高了浏览的流畅性,给用户 ...
- javascript进阶——Ajax
统的Web 页面和应用中,用户每点击页面上的某个部分,浏览器就会向服务器发出一个请求,等待服务器做出响应,然后返回一个完整新网页,但在大多数情况下用户不得不忍受页面闪烁和长时间的等待.随着Web技术的 ...
- Javascript and AJAX with Yii(在yii 中使用 javascript 和ajax)
英文原文:http://www.yiiframework.com/wiki/394/javascript-and-ajax-with-yii /*** http://www.yiiframework. ...
- javascript实现ajax
什么是 ajax ajax 即“Asynchronous JavaScript and XML”(异步 JavaScript 和 XML),也就是无刷新数据读取. http 请求 首先需要了解 htt ...
- JavaScript和ajax 跨域的案例
今天突然想看下JavaScript和ajax 跨域问题,然后百度看了一下,写一个demo出来 <!DOCTYPE html> <html xmlns="http://www ...
随机推荐
- .net中的"异步"-手把手带你体验
周二刚过,离5.1小长假还有那么一阵,北京的天气已经开始热起来了.洗完澡,突然想起博客园一位大哥暂称呼元哥吧,当时我写了一篇windows服务的安装教程(http://www.cnblogs.com/ ...
- ActiveReport资料
1. ActiveReports for .NET 2 Online | ActiveReports for .NET 3 Online 2.GroupHeader块 ①GroupHeader块为每个 ...
- scanf,sscanf利用format跳过干扰的空格
scanf,sscanf利用format跳过干扰的空格 用了一点时间做读取配置部分的代码,希望一次记录上读取N个数据, 希望读取的格式就是一个IP地址加上端口号,希望把IP地址读取到4个短整数里面,端 ...
- Windows Azure下如何安装 MongoDb
MongoDB 是一种受欢迎的高性能 NoSQL 开源数据库.使用 Windows Azure管理门户,您可从映像库创建运行 CentOS Linux 的虚拟机.然后,您可以在该虚拟机上安装和配置 M ...
- 四轴飞行diy全套入门教程(从最基础的开始)
转载:http://www.cnmox.com/thread-12460-1-1.html首先声明本人也是菜鸟,此教程就是从一个菜鸟的角度来讲解,现在论坛上的帖子都突然冒很多名词出来,又不成体系,我自 ...
- javascript实现颜色渐变
渐变(Gradient)是美学中一条重要的形式美法则,与其相对应的是突变.形状.大小.位置.方向.色彩等视觉因素都可以进行渐变.在色彩中,色相.明度.纯度也都可以产生渐变效果,并会表现出具有丰富层次的 ...
- Windows安全模式的妙用
使用计算机的老手一定对windows安全模式不陌生,在删除病毒,卸载顽固软件,或者系统维护时,Windows的安全模式肯定会帮助很大,下面电脑技术就说说Windows安全模式的作用以及用处. wind ...
- js字符串常用判断方法
转自:http://blog.sina.com.cn/s/blog_6819fa800100j5t6.html 一.方法介绍 function obj$(id) ...
- Zabbix3.0完整部署
0. 准备工作 0.1 初始化 #!/bin/sh yum clean all systemctl stop firewalld.service systemctl disable firewalld ...
- 使用QQ账号的来发送邮件
第一步,看图操作如下: 打开QQ邮箱,在设置-帐户,然后再看下图示: 把:POP3/SMTP服务,IMAP/SMTP服务,Exchange服务,CardDAV/CalDAV服务都选择上,保存这样,便可 ...