web项目ajax技术一些总结
WEB项目中,最主要的就是前后端间的联络。有时需要不进行页面跳转的前提下请求后端方法(action),就需要用到ajax。
在这个博客中,我用到的都是原生的js的ajax,不是很喜欢用jquery的ajax,如果以后用到了,再补充。首先,案例就是本博客的博文删除功能。在个人空间,点击文章题目旁边的删除按钮,就会自动进行ajax请求,后端方法。
<button type="button" id=${article.id} onclick="button_Click_1(this)">删除</button>
js代码:
var oAjax = null;
// 页面加载同时,即创建ajax对象
if(window.XMLHttpRequest){
oAjax = new XMLHttpRequest();
} else {
oAjax = new ActiveXObject('Microsoft.XMLHTTP');
} // 点击删除按钮对应的javascript方法,该方法里进行ajax请求
function button_Click_1(btn) {
var delete_id = btn.id;
url = "<%=basePath %>article/delete.form?id=" + delete_id;
oAjax.open('POST', url, true);
oAjax.send();
oAjax.onreadystatechange = function() {
if(oAjax.readyState == 4) {
if(oAjax.status == 200) {
alert("delete successfully.");
location.reload();
} else {
alert("delete failed");
}
}
}; }
值得注意一点是,删除文章id的传递。首先将article.id赋给button的id,之后js代码中var delete_id = btn.id一句即可获得要删除文章的id。这个id作为参数拼接进url,ajax请求发送即可。
上面的例子其实是很简单的,ajax方面比较麻烦,但却非常实用的方面,其实是参数和返回值。如果要传输的是一个对象,该怎么做?很多时候,我们都已json的数据格式,进行传输。所以,有时我我们需要进行string和json之间的类型转换。
JSON.parse(str)(用于从字符串中,解析json对象)和JSON.stringify(object)(用于从一个对象解析出字符串)。
传递参数一种就是,拼接url,另一种就是组合成json格式做参数,然后发送。
思路 可参考下面代码:
function Person(name, age) {
this.name = name;
this.age = age;
}
....
var person = new Person("Alice", 12);
var pars = "person=" + person.toJSONString();
var url = "/...../......";
var mailAjax = new Ajax.Request(
url, {
method: 'get',
parameters: pars,
onComplete: jsonResponse
});
返回值的获取,代码可参考:
//结合上述删除博文的例子
.......
if (XMLHttpReq.readyState == 4) {
if (XMLHttpReq.status == 200) {
var text = XMLHttpReq.responseText;
console.log(text);
}
}
至于后端对json的操作,那就是JSONObject类了。
web项目ajax技术一些总结的更多相关文章
- 一款基于SSM框架技术的全栈Java web项目(已部署可直接体验)
概述 此项目基于SSM框架技术的Java Web项目,是全栈项目,涉及前端.后端.插件.上线部署等各个板块,项目所有的代码都是自己编码所得,每一步.部分都有清晰的注释,完全不用担心代码混乱,可以轻松. ...
- Web前端-Ajax基础技术(下)
Web前端-Ajax基础技术(下) 你要明白ajax是什么,怎么使用? ajax,web程序是将信息放入公共的服务器,让所有网络用户可以通过浏览器进行访问. 浏览器发送请求,获取服务器的数据: 地址栏 ...
- Web前端-Ajax基础技术(上)
Web前端-Ajax基础技术(上) ajax是浏览器提供一套的api,用于向服务器发出请求,接受服务端返回的响应,通过javascript调用,实现通过代码控制请求与响应,实现网络编程. ajax发送 ...
- Web项目开发中用到的缓存技术
在WEB开发中用来应付高流量最有效的办法就是用缓存技术,能有效的提高服务器负载性能,用空间换取时间.缓存一般用来 存储频繁访问的数据 临时存储耗时的计算结果 内存缓存减少磁盘IO 使用缓存的2个主要原 ...
- C# 动态创建SQL数据库(二) 在.net core web项目中生成二维码 后台Post/Get 请求接口 方式 WebForm 页面ajax 请求后台页面 方法 实现输入框小数多 自动进位展示,编辑时实际值不变 快速掌握Gif动态图实现代码 C#处理和对接HTTP接口请求
C# 动态创建SQL数据库(二) 使用Entity Framework 创建数据库与表 前面文章有说到使用SQL语句动态创建数据库与数据表,这次直接使用Entriy Framwork 的ORM对象关 ...
- 【SSH网上商城项目实战28】使用Ajax技术局部更新商品数量和总价
转自: https://blog.csdn.net/eson_15/article/details/51487323 昨天把项目部署了一下,玩了玩,今天完善了一下购物车中修改商品数量就能局部 ...
- 带领技术小白入门——基于java的微信公众号开发(包括服务器配置、java web项目搭建、tomcat手动发布web项目、微信开发所需的url和token验证)
微信公众号对于每个人来说都不陌生,但是许多人都不清楚是怎么开发的.身为技术小白的我,在闲暇之余研究了一下基于java的微信公众号开发.下面就是我的实现步骤,写的略显粗糙,希望大家多多提议! 一.申请服 ...
- Web应用程序开发,基于Ajax技术的JavaScript树形控件
感谢http://www.cnblogs.com/dgrew/p/3181769.html#undefined 在Web应用程序开发领域,基于Ajax技术的JavaScript树形控件已经被广泛使用, ...
- 跟阿根一起学Java Web开发二:使用Ajax技术及XML与JSON实现输出
如今B/S结构的系统使用Ajax技术是再平常只是的了.今天我们就来探讨下在JSPGenSDF第四版中:怎样使用Ajax技术.怎样输出XML文件及JSON格式数据输出. 怎样搭建一个最基础的JSPGen ...
随机推荐
- CSS中使用text-transform实现首字母大写
CSS中首字母大写怎么实现?日常生活中需求方对英文的要求比较多,有的时候需要让英文单词或拼音首个字母大写;有的时候需要让全文中英文单词全大写或小写.这时候我们就需要text-transform属性了. ...
- Tween Animation----Rotate旋转动画
activity_main.xml布局里 在res/下面新建一个anim文件夹用来保存动画的xml属性 我们在anim文件夹下面创建一个rotate.xml文件 代码如下: <?xml vers ...
- python学习 2数学公式
递归 def fact(n): if n <= 1: return 1 else: return n * fact(n - 1) 斐波那契数列: 第0项是0,第1项是1,从第2项开始,每一项都等 ...
- Unable to convert MySQL date/time value to System.DateTime 错误
C#读取MySql时,如果存在字段类型为date/datetime时的可能会出现以下问题“Unable to convert MySQL date/time value to System.DateT ...
- 图解HTTP
1.返回结果的HTTP状态码 a. 2xx 成功: 200 ok 204 No Content 206 Partial Content b. 3XX重定向:301 Moved Permanently ...
- Jungle Roads[HDU1301]
Jungle Roads Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tota ...
- [BZOJ1127][POI2008] KUP子矩阵
Description 给一个n*n的地图,每个格子有一个价格,找一个矩形区域,使其价格总和位于[k,2k] Input 输入k n(n<2000)和一个n*n的地图 Output 输出矩形的左 ...
- 由overflow-x:scroll产生的收获
我们都知道float:left属性会让元素向左浮动,如果用一个div将几个左浮动的li包起来,是不是div的宽度被li撑得很长很长呢,代码: <!DOCTYPE html> <htm ...
- HTML解析器HtmlAgilityPack的一些使用总结(C#)
哎~本来这些总结是作为使用时的快速备注,但是用不上了.实际应用当中HtmlAgilityPack的可靠性不太稳定,一主要问题是:-> 一些字符会出现乱码或者变成'?',如韩语字符.由于我是已经有 ...
- C#输出文字对齐,空格位数对齐
Align String with Space This example shows how to align strings with spaces. The example formats tex ...