前言
最近学的 JSONP 的封装,想练练手,做个跨域的请求玩玩,笔记在这里!
踩坑
因为教程里用的是 https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su
这个请求url,然而他是怎么找到的呢?我不太清楚,所以我就自己打开百度,然后打开控制台
找到接口之后,放到自己封装的 jsonp 中去,直接传递关键字试了下,发现没有返回值,后来我索性把所有的参数都放到url 中,就能获取到返回值了
之后一个一个字段的注释掉,从而找到必传的参数。
<script>
document
.querySelector("#searchInput")
.addEventListener("blur", function () {
console.log(this.value);
ajax({
url: "https://www.baidu.com/sugrec",
dataType: "jsonp",
data: {
// pre: 1,
// p: 3,
// ie: "utf-8",
// json: 1,
prod: "pc", // 经过我的测试,这个参数是必须传递的,否则百度不会返回数据
// from: "pc_web",
// sugsid: "34099,34223,31660,33848,34133,34106,22158",
wd: this.value,
},
success(res) {
console.log(res);
},
});
});
</script>
验证图片如下: