GET发送的数据被解析成key和value
POST发送的数据会被解析成字符串
在发送数据之前ajax.send("user=admin"),设置请求头信息
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
封装AJAX的POST请求方式
注意发送数据参数的默认值
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
</body>
<script>
document.onclick = function(){
var url = "http://127.0.0.1/1908/jsonp/data/jsonp3.php"
jsonp(url,function(res){
alert(res)
},{
pass:"root",
// 5.用来保存,后台接收的回调函数名所在的字段名
// 为了给自己封装的函数传参,放置多次修改封装好的函数
columnName:"cb",
// 6.根据后台要接受的字段名,发送回调函数名,回调函数名,已经无所谓了,随机都行
cb:"sdfsdfsdf"
})
}
function jsonp(url,success,data){
// 1.处理默认参数
data = data || {};
// 2.解析数据
var str = "";
for(var i in data){
str += `${i}=${data[i]}&`;
}
// 3.创建script标签,设置src,准备开启jsonp
var script = document.createElement("script");
script.src = url + "?" + str;
document.body.appendChild(script);
// 4.定义全局函数
// window.asdasdasd = function(res){
// window["asdasdasd"] = function(res){
// window[data.callback] = function(res){
// window[data["callback"]] = function(res){
window[data[data.columnName]] = function(res){
success(res);
}
}
</script>
</html>