使用JSON来进行Ajax开发(一)
来源:互联网 发布:HaiQisoft软件管理系统 编辑:程序博客网 时间:2024/06/05 11:05
1、JSON
JSON:JavaScript对象表示法(JavaScript Object Notation),是存储和交换文本信息的语法。类似XML,但比XML更小、更快、更易解析。
JSON是纯文本,可以通过JavaScript进行解析,JSON数据可使用AJAX进行传输。对于AJAX应用程序来书,JSON比XML更快更易使用。对比XML,使用XML,读取XML文档,使用XML DOM来循环遍历文档。读取值并存储在变量中。使用JSON,读取JSON字符串,使用eval()处理JSON字符串。
JSON 文件的文件类型是 ".json"
JSON 文本的 MIME 类型是 "application/json
2、eval(string)
eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。该方法只接受原始字符串作为参数,如果 string 参数不是原始字符串,那么该方法将不作任何改变地返回。因此请不要为 eval() 函数传递 String 对象来作为参数。
3、JSON数组
理解JSON数组,这会是从数据库中查询结果在前台的寄存地。
{
"employees": [
{ "firstName":"John" , "lastName":"Doe" },
{ "firstName":"Anna" , "lastName":"Smith" },
{ "firstName":"Peter" , "lastName":"Jones" }
]
}
通过 JavaScript,您可以创建一个对象数组,并像这样进行赋值:
例子
var employees = [
{ "firstName":"Bill" , "lastName":"Gates" },
{ "firstName":"George" , "lastName":"Bush" },
{ "firstName":"Thomas" , "lastName": "Carter" }
];
可以像这样访问 JavaScript 对象数组中的第一项:
employees[0].lastName;
返回的内容是:
Gates
可以像这样修改数据:
employees[0].lastName = "Jobs";
4、把 JSON 文本转换为 JavaScript 对象
JSON 最常见的用法之一,是从 web 服务器上读取 JSON 数据(作为文件或作为 HttpRequest),将 JSON 数据转换为 JavaScript 对象,然后在网页中使用该数据。
为了更简单地为您讲解,我们使用字符串作为输入进行演示(而不是文件)。
创建包含 JSON 语法的 JavaScript 字符串:
var txt = '{ "employees" : [' +
'{ "firstName":"Bill" , "lastName":"Gates" },' +
'{ "firstName":"George" , "lastName":"Bush" },' +
'{ "firstName":"Thomas" , "lastName":"Carter" } ]}';
由于 JSON 语法是 JavaScript 语法的子集,JavaScript 函数 eval() 可用于将 JSON 文本转换为 JavaScript 对象。
eval() 函数使用的是 JavaScript 编译器,可解析 JSON 文本,然后生成 JavaScript 对象。必须把文本包围在括号中,这样才能避免语法错误:
var obj = eval ("(" + txt + ")");
在网页中使用 JavaScript 对象:
例子
<p>
First Name: <span id="fname"></span><br />
Last Name: <span id="lname"></span><br />
</p>
<script type="text/javascript">
document.getElementById("fname").innerHTML = obj.employees[1].firstName
document.getElementById("lname").innerHTML = obj.employees[1].lastName
</script>
5、Ajax
Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。AJAX 不是新的编程语言,而是一种使用现有标准的新方法。AJAX 是与服务器交换数据并更新部分网页的艺术,在不重新加载整个页面的情况下。
function showCustomer(str)
{
var xmlhttp;
if (str=="")
{
document.getElementById("txtHint").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
mlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","getcustomer.asp?q="+str,true);
xmlhttp.send();
}
请注意我们向 URL 添加了一个参数 q (带有输入域中的内容)
- 使用JSON来进行Ajax开发(一)
- 使用 kotlin 来进行 Android 开发(一)
- Ajax: 使用 JSON 进行数据传输
- Ajax:使用 JSON 进行数据传输
- 你应该选择使用Python 2还是Python 3来进行开发?(一)
- 使用json进行ajax通信(django/jquery)
- Ajax提高篇(5)使用JSON 进行数据传输
- Ajax提高篇(5)使用JSON 进行数据传输
- 使用JSON格式来进行数据交换
- AJAX使用JSON 进行数据传输介绍
- AJAX(第十部分:使用JSON进行数据传输)
- 使用AJAX进行应用程序开发
- S2SH+ajax+json-------(一)
- 使用NetBeans进行J2ME开发(一)
- 使用Koa2进行Web开发(一)
- 开发安全应用程序(五)-- 使用 JAAS 进行开发以使用程序来进行登录
- 使用prototype.js来开发AJAX
- struts2使用JSON插件开发Ajax
- poj2480 Longge's problem
- Z-Stack网络参数配置
- 03-php雇员管理系统-实现显示用户名称
- axFramerControl控件对EXCEL操作的一些方法!
- 求解区间最值的ST算法
- 使用JSON来进行Ajax开发(一)
- 在secureCRT中让vi 彩色显示
- 程序的命令行编译
- javascript的拖放
- oracle 的sql语句积累
- ar - 创建静态库.a文件
- vi中复制 粘贴 删除 一行
- 日期控件DatePicker只显示年月不显示日
- struts2 的国际化