您好,欢迎访问一九零五行业门户网

jquery ajax定义与用法实例详解

定义和用法
ajax() 方法通过 http 请求加载远程数据。
该方法是 jquery 底层 ajax 实现。简单易用的高层实现见 $.get, $.post 等。$.ajax() 返回其创建的 xmlhttprequest 对象。大多数情况下你无需直接操作该函数,除非你需要操作不常用的选项,以获得更多的灵活性。
最简单的情况下,$.ajax() 可以不带任何参数直接使用。
注意:所有的选项都可以通过 $.ajaxsetup() 函数来全局设置。
jquery ajax在web应用开发中很常用,它主要包括有ajax,get,post,load,getscript等等这几种常用无刷新操作方法,下面我来给各位同学介绍介绍。
我们先从最简单的方法看起,处理复杂的ajax请求时,jquery使用jquery.ajax()方法进行处理。在jquery中有一些简单的方 法,它对jquery.ajax()方法进行了封装,使得我们在处理一些简单的ajax事件时,不需要使用jquery.ajax()方法,其中有些方法 在之前的文章中已经出现过了,相信大家很快便能掌握。
执行一般ajax请求的方法
1.load() 加载远程数据到选中的元素中
<script type="text/javascript"> $(document).ready(function(){ $("#b01").click(function(){ $('#mydiv').load('/jquery/test.txt'); }); }); </script>
2.ajax() 将数据加载到xmlhttprequest对象中
<%@ page language="c#" %> <!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <script runat="server"> /// <summary> /// param1 param2 对应前面js传递来的参数。 /// </summary> /// <param name="param1"></param> /// <param name="param2"></param> /// <returns></returns> [system.web.services.webmethod] public static string getdatatable(string param1, string param2) { return datatable2json(createdatatable(param1, param2)); } public static system.data.datatable createdatatable(string param1, string param2) { system.data.datatable datatable1 = new system.data.datatable("bloguser"); system.data.datarow dr; datatable1.columns.add(new system.data.datacolumn("userid", typeof(system.int32))); datatable1.columns.add(new system.data.datacolumn("username", typeof(system.string))); datatable1.primarykey = new system.data.datacolumn[] { datatable1.columns["userid"] }; for (int i = 0; i < 8; i++) { dr = datatable1.newrow(); dr[0] = i; dr[1] = "【孟子e章】" + i.tostring() + " 前端传递的参数的值分别是:" + param1 + ", " + param2; datatable1.rows.add(dr); } return datatable1; } public static string datatable2json(system.data.datatable dt) { stringbuilder jsonbuilder = new stringbuilder(); jsonbuilder.append("{\""); jsonbuilder.append(dt.tablename.tostring()); jsonbuilder.append("\":["); for (int i = 0; i < dt.rows.count; i++) { jsonbuilder.append("{"); for (int j = 0; j < dt.columns.count; j++) { jsonbuilder.append("\""); jsonbuilder.append(dt.columns[j].columnname); jsonbuilder.append("\":\""); jsonbuilder.append(dt.rows[i][j].tostring()); jsonbuilder.append("\","); } jsonbuilder.remove(jsonbuilder.length - 1, 1); jsonbuilder.append("},"); } jsonbuilder.remove(jsonbuilder.length - 1, 1); jsonbuilder.append("]"); jsonbuilder.append("}"); return jsonbuilder.tostring(); } </script> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>jquery ajax 调用后台方法返回 dataset 或者 datatable 的例子</title> <script type="text/javascript" src="jquery-1.6.2.min.js"></script> </head> <body> <form id="form1" runat="server"> <div id="result"></div> </form> <script type="text/javascript"> $(document).ready(function () { $.ajax({ type: "post", url: "<%=request.url.tostring() %>/getdatatable", /* 注意后面的名字对应cs的方法名称 */ data: "{\"param1\":\"8888\",\"param2\":\"参数2\"}", /* 注意参数的格式和名称 */ contenttype: "application/json; charset=utf-8", datatype: "json", success: function (result) { data = jquery.parsejson(result.d); /*这里是否解析要看后台返回的数据格式,如果不返回表名则无需要 parsejson */ t = "<table border='1'>"; $.each(data.bloguser, function (i, item) { /* bloguser是返回的表名 */ t += "<tr>"; t += "<td>" + item.userid + "</td>"; t += "<td>" + item.username + "</td>"; t += "</tr>"; }) t += "</table>"; $("#result").html(t); } }); }); </script> </body> </html>
3.post() 通过post方式传参
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>.net下jquery-post方法应用</title> <script src="js/jquery-1.3.2.min.js" type="text/javascript"></script> </head> <body> <div style="margin:15px; font-size:13px;"> 加法: <input type="text" id="txt_1" name="txt_1" maxlength="5" style="width:50px;" /> + <input type="text" id="txt_2" name="txt_2" maxlength="5" style="width:50px;" /> <input type="button" id="btn_1" value="计算" /> <span id="span_1" style="color:red; font-weight:bold; font-size:14px;">结果:</span> <br /> 乘法: <input type="text" id="txt_3" name="txt_3" maxlength="5" style="width:50px;" /> × <input type="text" id="txt_4" name="txt_4" maxlength="5" style="width:50px;" /> <input type="button" id="btn_2" value="计算" /> <div id="div_2" style="color:red; font-weight:bold; font-size:14px;">结果:</div> </div> <script type="text/javascript"> $("#btn_1").click(function(){ //验证 if ($("#txt_1").val()=='' || $("#txt_2").val()=='') { alert('请输入要计算的值'); return false; } //向add.ashx请求结果 $.post('enumerate/add.ashx',{ //参数一 num1: $('#txt_1').val(), //参数二 num2: $("#txt_2").val() }, //回调函数 function(theback) { //输出结果 $("#span_1").text(theback); }, //返回类型 "text" ); }); $("#btn_2").click(function(){ //验证 if ($("#txt_3").val()=='' || $("#txt_4").val()=='') { alert('请输入要计算的值'); return false; } //向multiply.ashx请求结果 $.post('enumerate/multiply.ashx',{ //参数一 num1: $('#txt_3').val(), //参数二 num2: $("#txt_4").val() }, //回调函数 function(theback) { //输出结果 $("#div_2").html('第一个数:'+theback.num1+'<br />'+'第二个数:'+theback.num2+'<br />'+'算法类型:'+theback.type+'<br />'+'计算结果:'+theback.result); }, //返回类型 "json" ); }); </script> </body> </html>
4.get() 通过get方式传递参数,使用同post()方法
5.getscript() 通过get方式请求并执行一个javascript文件,url为javascript文件地址
以上就是jquery ajax定义与用法实例详解的详细内容。
其它类似信息

推荐信息