Ajax应用-Ajax传输JSON数据实例
————————————————————
<script type="text/javascript">
var client; //定义XMLHttpRequest对象,也可以叫ajax客户端
//button的click事件回调函数
function sendAjax(){
// 判断是否支持ActiveX控件,老版本的IE浏览器就需要使用ActiveXObject来创建
if(window.ActiveXObject){
// 通过实例化ActiveXObject的一个新实例来创建XMLHTTPRequest对象
client = new ActiveXObject("Microsoft.XMLHTTP");
}
// 其他的大多数浏览器都支持本地javascript对象
else if(window.XMLHttpRequest){
// 创建XMLHTTPRequest的一个实例(本地javascript对象)
client = new XMLHttpRequest();
}else{
alert('创建ajax客户端失败,您的浏览器不支持该服务');
}
if(client){ //如果创建client成功以后
var method = document.getElementById("the_method").value;
var params = document.getElementById("params").value;
//这里的URL故意写一个错误的地址进行测试
//设置ajax打开以后,建立连接的方式和目标文件,以及是否为异步模式
if(method == 'POST'){
//用POST方法,参数可以通过send方法的参数写到请求的内容流中去
client.open(method,"test002.txt",true);
client.send(params); //调用send函数,把参数写的请求内容中
}else if(method == 'GET'){
//用GET请求方法,参数就只能放在URL的后边,这种方式受到URL长度限制
client.open(method, "test002.txt?" + params,true);
client.send();
}
client.onreadystatechange = myCallBack;
}
}
//自定义回调函数
function myCallBack(){
//如果请求的response正常返回
if (client.readyState==4){
//在请求完成之后,隐藏请求进行中的提示
document.getElementById('loading').style.display = 'none';
if(client.status==200){//处理正常时的代码
var resp = client.responseText; //返回的值的字符形式
var arr = eval('('+resp+')'); //使用eval得到json格式
var str = '学生信息:<br/>姓名, 年龄';//拼接字符
for(var i=0;i<arr.length;i++){ //遍历返回的学生数据数组
//把每一个学生的姓名和年龄拼接起来
str += '<br/>' + arr[i]['name'] + ',' + arr[i]['age'];
}
//把拼接好的信息放到content内容中,以显示在网页上
document.getElementById('content').innerHTML = str;
}else if(client.status==404){//处理URL不存在的情况
alert('网页不存在');
}else if(client.status==500){//处理服务器内部错误的情况
alert('服务器内部错误');
}
}else{
//在请求完成之前,显示请求进行中的提示
document.getElementById('loading').style.display = 'block';
}
}
</script>———————————————————————————————
<style>
/*loading的样式*/
#loading{
border:1px solid black;
background-color:yellow;
display:none;
height:25px;
width:100px;
margin:5px auto;
}
</style>
——————————————————————————————
<body style="text-align:center">
<label>请求方法:</label>
<select id="the_method">
<option value="GET">GET</option>
<option value="POST">POST</option>
</select>
<br/>
<label>请求内容:</label>
<input type="text" id="params" name="params"/>
<br/>
<input type="button" value="Send" onclick="sendAjax();"/>
<br/>
<span id="loading">Loading....</span>
<br/>
<p id="content"></p>
</body>
——————————————————————————————
Ajax应用-Ajax传输JSON数据实例的更多相关文章
- 通过ajax和spring 后台传输json数据
在通过ajax从页面向后台传数据的时候,总是返回415(Unsupported media type)错误,后台无法获取数据.如下图所示: 在尝试解决这个问题的时候,我们首先要理解一下概念: @req ...
- Django之AJAX传输JSON数据
目录 Django之AJAX传输JSON数据 AJAX 中 JSON 数据传输: django响应JSON类型数据: django 响应 JSON 类型数据: Django之AJAX传输JSON数据 ...
- 11月13日上午ajax返回数据类型为JSON数据的处理
ajax返回数据类型为JSON数据的处理 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &qu ...
- SpringMVC中出现" 400 Bad Request "错误(用@ResponseBody处理ajax传过来的json数据转成bean)的解决方法
最近angularjs post到后台 400一头雾水 没有任何错误. 最后发现好文,感谢作者 SpringMVC中出现" 400 Bad Request "错误(用@Respon ...
- 8.ajax与django后台json数据的交互
1新建django项目名为json_ajax,应用名为app,在templates模板中新建ajax.html文件 ajax.html <!DOCTYPE html> <html l ...
- 【Spring学习笔记-MVC-5】利用spring MVC框架,实现ajax异步请求以及json数据的返回
作者:ssslinppp 时间:2015年5月26日 15:32:51 1. 摘要 本文讲解如何利用spring MVC框架,实现ajax异步请求以及json数据的返回. Spring MV ...
- AJAX跨域请求json数据的实现方法
这篇文章介绍了AJAX跨域请求json数据的实现方法,有需要的朋友可以参考一下 我们都知道,AJAX的一大限制是不允许跨域请求. 不过通过使用JSONP来实现.JSONP是一种通过脚本标记注入的方式, ...
- 类型:JQuery;问题:ajax调用ashx文件;结果:ashx文件怎么获取$.ajax()方法发送的json数据
ashx文件怎么获取$.ajax()方法发送的json数据 作者:careful 和ajax相关 新浪微博QQ空间QQ微博百度搜藏腾讯朋友QQ收藏百度空间人人网开心网0 $.ajax({ t ...
- Java后台使用httpclient入门HttpPost请求(form表单提交,File文件上传和传输Json数据)
一.HttpClient 简介 HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的.最新的.功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 ...
随机推荐
- python 基础学习-总结1
1.Python 简介 易学易懂,语法简单 不需编译,即可运行 比其他语言更简洁 不需要管理内存 1.1 什么是Python? python 是由Guido.van.Rossum于1989年始创,其根 ...
- redis8--数据持久化两种方式
持久化功能redis为了内部数据的安全考虑,会把本身的数据以文件形式保存到硬盘中一份,在服务器重启之后会把硬盘中的数据恢复到内存(redis)的里边.数据保存到硬盘的过程就称为"持久化&qu ...
- Strusts2--课程笔记8
文件的和上传和下载: (1)文件的上传: Struts是通过拦截器实现文件上传的,而默认拦截器栈中包含了文件上传拦截器,故表单通过Struts2可直接将文件上传,其底层是通过apache的common ...
- RPC框架基本原理(三):调用链路分析
本文主要阐述下RPC调用过程中的寻址,序列化,以及服务端调用问题. 寻址 随机寻址 从可用列表中,随机选择地址 一致性寻址 可用服务地址一致性hash管理:根据可服务的地址,构造treemap,计算c ...
- imagick-3.1.0RC2 安装错误
PHP 5.4.8 安装 imagick-3.1.0RC2 安装冒出一大堆错误, 貌似跟 ImageMagick-6.8.0-2 这个版本有关系, 我之前换成低版本的 ImageMagick 就可以顺 ...
- Sublime Text 2
常用功能: 安装Package Control:https://sublime.wbond.net/ 多行选择.多行编辑鼠标选中多行,按下 Ctrl+Shift+L (Command+Shift+L) ...
- 索引图像(X与map)的显示、保存、转化
有的图像载入后,出现X.map两个矩阵,那么他就是索引图像. load wbarb; figure,imshow(X,map);%显示原图 imwrite(X,map,'C:\Users\Jv\Des ...
- 转 delphi SelText,GetText,SetText用法
转自:http://blog.163.com/wll_009/blog/static/1173731172009102452632968/ 这几个都跟选区有关的,就是选中一串字符串,选中的会变蓝色Se ...
- MVC3+EF4.1学习系列(九)-----EF4.1其他的一些技巧的使用
上节通过一系列重构 简单的项目就实现了 不过还有些EF的功能没有讲 这节就通过项目 讲讲EF其他的功能与技巧 一.直接执行SQL语句 通常来讲 EF 不用写SQL语句的 但是 在有些场合 比如对生 ...
- CentOS系统更换软件安装源aliyun的
CentOS系统更换软件安装源第一步:备份你的原镜像文件,以免出错后可以恢复. mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS ...