这是我失败的代码
$.ajax({ type: "get", url: "http://open.douyucdn.cn/api/RoomApi/live/lol", dataType: "jsonp", jsonp: "callback", jsonpCallback: "data", success: function(response) { console.log(response); } });
我去google后,了解到返回的数据是json格式,但我如果将dataType的value改成json后,又会出现跨域问题。
这期间我尝试使用script直接调用该链接,但还是同样的问题,
贴出失败的代码:
var url = "http://open.douyucdn.cn/api/RoomApi/live/lol"; var script = document.createElement("script"); script.setAttribute("src", url); document.getElementsByTagName("head")[0].appendChild(script);
我觉得我的问题应该归纳为:如何使用javascript在跨域条件下调用json格式数据?
希望大家能指导我一下,谢谢!
这个问题来源于freecodecamp上的一个小题目,
题目地址
我只是将其中的twitch API改为斗鱼API
一、后台发过来的api,基本都有权限验证的,就是header里面带auth权限验证,需要携带token
二、涉及到跨域,可能后端一定做了域名限制(必须),就是Access-Control-Allow-Origin:"..."这货,对域名限制后,基本别的ip访问不了api;
三、可能需要模拟登陆后爬取数据,需要cookie验证,没有cookie就没有一切;
你想的简单了,这就是个小爬虫了,单单的ajax没拉莫强大。
一周热门 更多>