本文介绍一种利用HTML script标签实现原生JavaScript跨域请求的简单方法。通过动态创建script元素并指定src属性,可绕过同源策略限制获取数据。文章包含完整代码示例及getdata回调函数的实现细节,适合初学者理解跨域原理。
利用script标签实现原生JS跨域请求
完成培训班学习后,尝试整理相关技术内容。在这个技术社区中,遇到问题时总能找到解答并获得帮助。
作为初学者,本文旨在提供易于理解的基础教程。尽管社区中许多资深开发者的代码难以直接理解,但好的代码应当通俗易懂,因此本文聚焦于新手可掌握的内容。
实现过程涉及简单的代码编写,期间虽遇到一些小错误,但最终均已解决。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>手写js跨域</title>
</head>
<body>
<button>search</button>
<input type="text"/>
<textarea name="" id="" cols="30" rows="10"></textarea>
</body>
</html>
<script>
var head=document.getElementsByTagName('head')[0];
var text=document.getElementsByTagName('input')[0];
var textarea=document.getElementsByTagName('textarea')[0];
var bt=document.getElementsByTagName('button')[0];
bt.onclick=function(){
var _script=document.createElement('script');
head.appendChild(_script);
_script.src='https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd='
+text.value+
'&json=1&p=3&sid=1443_20972_18241_21119_21191_21160_20929&req=2&csor=1&cb=getdata'; //百度的一个借口,用getdata函数把数据返回
}
function getdata(data){
console.log(data);
for(i in data.g){
console.log(data.g[i].q);
textarea.value+=data.g[i].q+'\n';
}
}
</script>
以上即为利用script标签实现JS原生跨域的全部内容,希望能为读者提供实用参考。