JQuery 采用了三层封装:最底层的封装方法为:$.ajax(),而通过这层封装了第二层有三种方法:.load()、$.get()和$.post(),最高层是$.getScript()和$.getJSON()方法。
HTML+JS代码
<html>
<head>
<title></title>
<script src="jquery-2.1.3.js"></script>
</head>
<body>
<div id="UserName"></div>
<div id="Age"></div>
<div id="Gender"></div>
</body>
</html>
<script type="text/javascript">
//$.post(url,[data],[callback],[type]) 1:地址 2:参数 3:回调函数 4:请求完成后返回的数据类型
$.post("Handler1.ashx", function (data) {
data = $.parseJSON(data);
$("#Gender").text(data.JsonData[2].Gender);
}) //因为这里没有设置第四个参数,所以data仅仅是一个字符串,那么我们就需要利用$.parseJSON()方法将data字符串转换成json对象
//$.get(url,[data],[callback],[type]) 1:地址 2:参数 3:回调函数 4:请求完成后返回的数据类型
$.get("Handler1.ashx", function (data) {
console.info("data", data); //输出:{ "JsonData": [{ "UserName": "张三"},{ "Age": "25" },{ "Gender": "男" }]}
$("#UserName").text(data.JsonData[0].UserName);
}, "json"); //这个"json"是设置获取数据的类型,所以得到的数据格式为json类型的(可选参数)
//$.getJSON(url,[data],[callback]) 1:地址 2:参数 3:回调函数
$.getJSON("Handler1.ashx", function (data) {
$("#Age").text(data.JsonData[1].Age); //无需设置,$.getJSON获取的数据类型为直接为json,
})
</script>
一般处理程序
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace WebApplication1
{
/// <summary>
/// Handler1 的摘要说明
/// </summary>
public class Handler1 : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/html";
var Json = "{\"JsonData\":[{\"UserName\":\"张三\"},{\"Age\":\"25\"},{\"Gender\":\"男\"}]}";
context.Response.Write(Json);
}
public bool IsReusable
{
get
{
return false;
}
}
}
}
怎么获取XML文件的内容? 对于ajax返回的数据类型是xml 该怎么处理
XMLFile1.xml文件内容
<?xml version="1.0" encoding="utf-8" ?>
<div id="div1">
<p>我是一个段落</p>
</div>
HTML请求页(ajax异步请求XML页面中的内容)
<html>
<head>
<title></title>
<script src="jquery-1.11.2.js"></script>
</head>
<body>
<input type="button" id="loadData" value="异步获取数据" />
</body>
</html>
<script type="text/javascript">
$(function () {
$("#loadData").click(function () {
$.get("XMLFile1.xml", function (data) {
alert(data); //打印出:[object XMLDocument] 说明我们得到的数据是一个xml数据 那我们如何取得它里面的内容呢?
//既然返回给我们的是一个xml对象元素 那我们就可以将它转换成juery对象 $(data) 然后就在获取这个对象下面的<p>标签的内容
var d = $(data).find("p").text();
alert(d); //打印出:我是一个段落
}, "xml"); //将返回的类型设为xml类型 即ajax中的type:"xml";
})
})
</script>