异步请求中设置自定义headers(javascript和jquery)

2018-07-16 17:21:23   作者:MangoCool   来源:MangoCool

javascript XMLHttpRequest:

function delUser(username, pwd) {

var timestamp = dateFtt("yyyyMMddhhmmss",new Date());

var xhr = new XMLHttpRequest();

//设置xhr请求的超时时间

xhr.timeout = 3000;

//设置响应返回的数据格式

xhr.responseType = "json";

//创建一个 post 请求,采用异步

xhr.open('POST', "https://localhost/restful/mangocool/deleteUser", true);

xhr.setRequestHeader("Content-Type","application/json;charset=utf-8");

xhr.setRequestHeader("X-Resquested-With","XMLHttpRequest");

xhr.setRequestHeader("Accept","application/json, text/javascript");

xhr.setRequestHeader('version', '3');

xhr.setRequestHeader('timestamp', timestamp);

xhr.send(JSON.stringify({"username":username, "pwd":pwd}));

xhr.onreadystatechange = function() {

if (xhr.readyState == 4 && xhr.status == 200) {

alert(xhr.responseText);

}

else {

alert(xhr.statusText);

}

}

}

jquery ajax:

function delUser(username, pwd) {

var timestamp = dateFtt("yyyyMMddhhmmss",new Date());

$.ajax({

url: "https://localhost/restful/mangocool/deleteUser",

headers: {"version":"3", "timestamp":timestamp},

data: JSON.stringify({"username":username, "pwd":pwd}),

type: "POST",

dataType: "json",

contentType: "application/json;charset=utf-8",

beforeSend: function() {

// 打开忽略服务器证书

},

error: function() {

alert("","用户删除失败!");

},

success: function(res) {

resFlag = true;

if(res.respCode == 1) {

alert("", "用户删除成功!");

} else {

alert("", res.respDesc);

}

},

complete:function() {

// 关闭忽略服务器证书

}

});

}

还有一个待解决的问题,XMLHttpRequest方式,控制台报错:

InvalidStateError: responseText is only available if responseType is '', 'document', or 'moz-chunked-text'.

1f0a0ecfaffabd7da1dfd4530b97014b.png

看起来是解析json串出错了,ajax没有这个问题。

参考来源:

分享:

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐