本文主要是比较三种实现Ajax的方式,为以后的学习开个头。
准备:
1、 prototype.js
2、 jquery1.3.2.min.js
3、 json2.js
后台处理程序(Servlet),访问路径servlet/testAjax:
Java代码
TestAjaxServlet接收两个参数:name和age,并返回一个以JSON格式编写的字符串。
前台页面参数输入界面:
Html代码
<p id="show">显示区域</p> <p id="parameters"> name:<input id="name" name="name" type="text" /><br /> age:<input id="age" name="age" type="text" /><br /> </p>
一、prototype实现
Html代码
在prototype的Ajax实现中,用evalJSON方法将字符串转换成JSON对象。
二、jquery实现
Html代码
刚接触jQuery,在json的处理上借助了json2.js。还请前辈们指教。
三、XMLHttpRequest实现
Html代码
ps:字符串转换成JSON的三种方式
采用Ajax的项目开发过程中,经常需要将JSON格式的字符串返回到前端,前端解析成JS对象(JSON )。
ECMA-262(E3) 中没有将JSON概念写到标准中,但在 ECMA-262(E5) 中JSON的概念被正式引入了,包括全局的JSON对象和Date的toJSON方法。
1,eval方式解析,恐怕这是最早的解析方式了。
记得str两旁的小括号哦。
2,new Function形式,比较怪异哦。
IE6/7中当字符串中含有换行(
)时,new Function不能解析,但eval却可以。
3,使用全局的JSON对象。
目前IE8(S)/Firefox3.5+/Chrome4/Safari4/Opera10 已实现了该方法。
使用JSON.parse需严格遵守JSON规范,如属性都需用引号引起来,如下
name没有用引号引起来,使用JSON.parse所有浏览器中均抛异常,解析失败。而前两种方式则没问题。
上面是我整理给大家的,希望今后会对大家有帮助。
相关文章:
解决ajax返回验证的时候总是弹出error错误的方法
通过Ajax手动解决WordPress WP-PostViews不计数的问题
Ajax获取到数据放入echarts里不显示的原因分析及解决办法