ajax之POST请求,参数序列化
⽐如,,我们在没有使⽤jquery的时候,没有$.post来让我们使⽤,那我们像下⾯这样直接发送:
var params1 = {
username: username,
passwrod: password
};
var xhr = new XMLHttpRequest();
if (adyState == 4 && xhr.status == 200) {
var data = sponseText;
data = JSON.prase(data);
console.log(data);
}
}
xhr.open("POST","/url",true);
xhr.setRequestHeader('Content-Type', 'multipart/x-www-form-urlencoded; charset=UTF-8');
xhr.send(params1);
这样发送,后台是接受不到数据的,,因为数据藏在Request的body中,⽽不是表单中,
所以我们前端就要对数据进⾏序列化,像jquery⼀样,$.params ⼀样对json序列化,这样后台就可以收到了就像这样:
var params1 = {
username: username,
passwrod: password
};
function $params(obj) {
var str = [];
for (var p in obj) {
str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
发送ajax请求的步骤}
return str.join("&");
}
var xhr = new XMLHttpRequest();
if (adyState == 4 && xhr.status == 200) {
var data = sponseText;
data = JSON.prase(data);
console.log(data);
}
}
xhr.open("POST","/url",true);
xhr.setRequestHeader('Content-Type', 'multipart/x-www-form-urlencoded; charset=UTF-8');
xhr.send($params(params1));

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。