用JQuery Ajax 与一般处理程序 请求数据无刷新,以及如何调试错误

时间:2023-08-13 22:36:44

通过 ajax() 与 一般处理程序,请求数据库数据,实现界面无刷新。

Jquery ajax 请求参数详细说明 http://www.w3school.com.cn/jquery/ajax_ajax.asp

代码:

 <!DOCTYPE html>

 <html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<script src="jquery-1.3.2-vsdoc2.js"></script>
</head>
<body>
<form id="form1" runat="server">
<div style="margin: 50px;">
<input value="点击" type="button" id="btn"/>
</div>
</form>
<script type="text/javascript">
$(document).ready(function () {
$('#btn').click(function () {
$.ajax({
url: 'ashx/Handler1.ashx',//string类型的参数,发送请求的地址
type: 'POST',//请求方式(post or get)默认为get
contenType: "application/json;charset-utf-8",//发送信息至服务器时内容编码类型
dataType: 'text',//预期服务器返回的数据类型
data: {},//发送的请求数据
success: function (data) {
alert(data);
}
});
});
})
</script>
</body>
</html>
 using System.Web;

 namespace DemoAjxa.ashx
{
/// <summary>
/// Handler1 的摘要说明
/// </summary>
public class Handler1 : IHttpHandler
{ public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain"; context.Response.Write("Hello World");
} public bool IsReusable
{
get
{
return false;
}
}
}
}

效果:

用JQuery Ajax 与一般处理程序 请求数据无刷新,以及如何调试错误

上面是post请求,获得纯文本字符串,如果是要获得json 数据的话

则需要将ajax 的参数dataType设为 josn,一般处理程序 context.Response.Write();返回的数据类型也必须是json 格式哦

然后将获得的json 数据解析并绑定到界面上

列: dataType: 'json',//预期服务器返回的数据类型


data{name:'huangenai'}如果data带参数,
在一般处理程序这样可以获得传过来的参数
string name=context.Request["name"].ToString(); 关于请求返回为error
1.查看 url 请求地址是否正确 火狐浏览器,安装插件 Firebug,F12可以看到报错了 显示请求地址NotFound

用JQuery Ajax 与一般处理程序 请求数据无刷新,以及如何调试错误

2.data{} 即时不传参数也要这样写上哦,不然会报错的

3.返回的数据类型是否与 dataType 一致

如果不一致则会报错

用JQuery Ajax 与一般处理程序 请求数据无刷新,以及如何调试错误

4.检查时否发生了跨域的请求

5.编码格式是否正确

当然也可以在代码中这样写,将错误输出查看到底是什么错误

 <script type="text/javascript">
$(document).ready(function () {
$('#btn').click(function () {
$.ajax({
url: 'ashx/Handler1.ashx',//string类型的参数,发送请求的地址
type: 'POST',//请求方式(post or get)默认为get
contenType: "application/json;charset-utf-8",//发送信息至服务器时内容编码类型
dataType: 'text',//预期服务器返回的数据类型
data: {name:'huangenai'},//发送的请求数据
success: function (data) {
alert(data);
}, error: function (XMLHttpRequest) {
alert("Ajax请求失败,错误状态为:"+XMLHttpRequest.status);
}
});
});
})
</script>

效果:

用JQuery Ajax 与一般处理程序 请求数据无刷新,以及如何调试错误

XMLHttpRequest 对象

属性

readyState:请求状态,开始请求时值为0直到请求完成这个值增长到4(readyState共有5中状态,0未初始化,1已初始化,2发送请求,3开始接收结果,4接收结果完毕。

responseText:目前为止接收到的响应体,readyState<3此属性为空字符串,=3为当前响应体,=4则为完整响应体

responseXML:服务器端相应,解析为xml并作为Document对象返回

status:服务器端返回的状态码,=200成功,=404表示“Not Found”

statusText:用名称表示的服务器端返回状态,对于“OK”为200,“Not Found”为400