首先我是个前端小白,跟着视频学了ajax,但是只有同域获取后台数据的方法。当我想要根据网站提供的免费api来练手的时候,如何解决异域问题让我抑郁了好几天。
如果想要使用第三方api,在无法与后端进行配合的前提下,很难动态获取信息,所以这个方法依然涉及后端知识,但是是我目前为止找到的最简单,最有效的方法。
后端php的代码如下:
<?php
$hotTopic = file_get_contents("https://www.v2ex.com/api/topics/hot.json");//获取api的URL
echo $hotTopic;//返回URL数据
?>
在前端部分就只要正常书写ajax代码就好了,只是发送请求的URL变成了php文件的URL,而不是api的URL。总结来说,就是通过后端php访问api,再用ajax访问后端URL返回的数据。
ajax的部分我用的是原生js代码(毕竟是小白,勤快一点没坏处):
var oAjax = new XMLHttpRequest();
oAjax.open('GET', 'hotTopic.php', true);
oAjax.send(null);
oAjax.onreadystatechange = function() {
if (oAjax.readyState == 4 && oAjax.status == 20