AJAX 常用请求方式总结

JQqury

$.get():

get()方法通过远程HTTP GET请求载入信息

语法:$(selector).get(url,data,success(response,status,xhr),dataType)

参数

url:必须,请求发送的地址。

data:可选,发送到服务器的数据。

success:可选,请求成功时运行的函数

             1).response:包含结果的数据

             2).status:包含请求的状态

             3).xhr:包含XmlHttpRequest对象 

dataType:服务器响应的数据类型,默认将智能判断 


$.get("https://www.baidu.com/", function (data, status) {
                alert("数据:" + data + "\n状态:" + status);
 }).error(function(msg){
            alert(JSON.stringify(msg))
  }); 

 $.post()

post()方法通过远程HTTP Post请求载入信息

语法:$(selector).post(url,data,success(data,status,jqXHR),dataType)

参数

url:必须,请求发送的地址。

data:可选,发送到服务器的数据。

success:可选,请求成功时运行的函数

             1).data:包含结果的数据

             2).status:包含请求的状态

             3).jqXHR:包含XmlHttpRequest对象 

dataType:服务器响应的数据类型,默认将智能判断

each 解析

varstr="";
$.ajax({
url:url,
type:"get",
success:function(list){
$("#PumpInfo").html("");
$.each(list,function(i,item){ 
str+="<td>"+item.id+"</td>";
str+="<td>"+item.name+"</td>";
str+="<td>"+item.mode+"</td>";
str+="<td>"+item.volumeDelivered+"</td>";
str+="<td>"+item.rate+"</td>";
str+="<td>"+item.volumeRemaining+"</td>";
str+="<td>"+item.cumulativeVolumeDelivered+"</td>";
str+="<td>"+item.drugName+"</td>";
str+="<td>"+item.list+"</td>";
str+="<td>"+item.status+"</td>";
});
$("#PumpInfo").append(str);
},error : function() {
alert("网络请求失败");
}
});

for 解析 调用

$.ajax({

url:url,
type:"POST",
data:param,
success:function(data){

$("#tbody").html("");

var list=data.list;
last= data.last;
var str="";
 
str="";
 
for(var i = 0; i<list.length; i++){

str+="<tr><td><input type='checkbox' name='subChk' attr-id="+list[i].id+"></td>"

str+="<td>"+list[i].name+"</td>";
str+="<td>"+list[i].contactname+"</td>";
str+="<td>"+list[i].contactphone+"</td>";
str+="<td>"+list[i].addr+"</td>";
str+="<td><a href='ShopsiteAction!WangDianUpdate.action?shopsite.id="+list[i].id+"'><input type='button' value='修改' /></a></td></tr>";

}
$("#tbody").append(str);

},error : function(data) {

alert("网络请求失败");
}
});

### 使用 AJAX 发送 HTTP 请求 AJAX 技术的核心在于通过 `XMLHttpRequest` 对象与服务器进行交互。以下是关于如何使用 AJAX 发送 HTTP 请求的具体说明: #### 创建 XMLHttpRequest 对象 为了发起 AJAX 请求,首先需要创建一个 `XMLHttpRequest` 对象。这可以通过 JavaScript 的内置功能完成: ```javascript var xmlhttp; if (window.XMLHttpRequest) { // 浏览器支持原生 XMLHttpRequest 对象 xmlhttp = new XMLHttpRequest(); } else { // 针对旧版 IE 浏览器的支持 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } ``` #### 设置请求类型和 URL 一旦创建了 `XMLHttpRequest` 对象,就可以配置它的属性并指定目标地址以及请求方式(GET 或 POST)。例如: ```javascript xmlhttp.open("POST", "ajax_test.php", true); ``` 这里指定了请求的方式为 `POST`,URL 为目标脚本路径 `"ajax_test.php"`,第三个参数表示是否异步执行。 #### 添加 HTTP 头部信息 当使用 `POST` 方法发送数据时,通常还需要设置合适的 HTTP 头来描述所传输的内容形式。比如,在表单提交场景下常用的是 `application/x-www-form-urlencoded` 类型: ```javascript xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); ``` #### 发送实际的数据 准备好之后,可以利用 `send()` 函数传送具体的数据到服务器端。对于简单的键值对来说可以直接字符串化处理: ```javascript xmlhttp.send("name=smyhvae&age=27"); ``` #### 监听 readyState 变化的回调机制 最后一步就是定义好接收来自服务端反馈消息后的动作逻辑——即绑定 `onreadystatechange` 事件处理器。每当 `readyState` 属性发生变化都会触发这个函数;只有当其值达到最终状态(4),并且确认成功接收到有效回复(`status==200`)的时候才去解析返回的结果。 ```javascript xmlhttp.onreadystatechange = function () { if (this.readyState === 4 && this.status === 200) { console.log(this.responseText); } }; ``` 以上过程涵盖了从初始化到最后结果展示整个流程中的关键环节[^1][^2]。 #### 数组作为参数传递给后端 有时我们需要向后端传入复杂结构如数组类型的变量,则可通过序列化操作将其转换成适合网络传输的形式再附加至请求体里头。下面给出了一种可行方案用于演示目的: ```javascript let dataArray = ["item1", "item2"]; let params = "data=" + encodeURIComponent(JSON.stringify(dataArray)); // ... xmlhttp.send(params); ``` 上述代码片段展示了怎样把 JavaScript 中的数组转化为 JSON 字符串并通过编码确保安全性后再拼接到查询字符串中一并发往远程主机[^4]。 #### 后端响应格式的选择 考虑到前后分离架构日益普及的趋势,现代 Web 应用程序倾向于让 API 接口仅专注于提供纯粹的数据资源而非完整的 HTML 页面内容。因此,采用诸如 JSON 这样轻量级易读写的标准交换媒介成为主流做法之一[^5]。 ### 总结 综上所述,借助于 XMLHttpRequst 实现跨域资源共享或者局部页面更新等功能变得十分便捷高效。同时也要注意不同浏览器间可能存在兼容性差异等问题需妥善解决。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值