怎样通过$.ajax跨域请求斗鱼TV API 取得json数据


通过$.ajax跨域请求 chrome提示 Uncaught SyntaxError: Unexpected token

这是我失败的代码

    $.ajax({
        type: "get",
        url: "http://open.douyucdn.cn/api/RoomApi/live/lol",
        dataType: "jsonp",
        jsonp: "callback",
        jsonpCallback: "data",
        success: function(response) {
            console.log(response);
        }
    });

斗鱼TV API文档

我去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


jsonp请求需要服务器做相应的jsonp请求响应处理的,所以服务器没做你是无法jsonp请求的,你可以试试iframe里面放个表单用表单去请求,然后获取iframe里面的内容,对里面的json字符串做转换,因为表单请求不存在所谓的跨域


jsonp的返回格式和json是不一样的。

你可以借用别的语言先请求一下,你封装成jsonp的格式。


那是人家不支持JSONP 回调

2个方法解决

1.自己用php或者其它后端处理下

2.在自己服务器上配置WEB反向代理


服务器上面有限制吧


获取到斗鱼的json字符串后,作为data传给后台吗?


这个东西没有callback,没有callback 是接收不到的。 比如:http://open.douyucdn.cn/api/R...


一、后台发过来的api,基本都有权限验证的,就是header里面带auth权限验证,需要携带token
二、涉及到跨域,可能后端一定做了域名限制(必须),就是Access-Control-Allow-Origin:"..."这货,对域名限制后,基本别的ip访问不了api;
三、可能需要模拟登陆后爬取数据,需要cookie验证,没有cookie就没有一切;
你想的简单了,这就是个小爬虫了,单单的ajax没拉莫强大。

当然公共的api除外


可以在客户端用一个服务器做代理转发,服务器发请求时没有跨域问题的


这个应该人家对jsonp跨越做了限制,可以用Yahoo跨域访问代理试试,具体我有个项目用到了,可以去看看:https://github.com/Hancoson/r...


jsonp本来就是不安全的请求,一般服务器是不允许这样操作的。只有自家调自己的才想想要不要放。
你还是自己用http请求吧


gaylun.tv
把所有游戏直播平台都给爬了,最下方有源代码



相关阅读:
cef3 cookie分离
标签添加成功了为什么不显示呢?
PHP水印合成中文乱码怎么解?网上教程没用
chrome下disabled的input不能选中和复制, 有解决办法吗
ps切图出现细线
canvas绘制的时钟,出现多余的黑色线条是怎么回事??
关于页面同时异步请求两个js,渲染页面等待如何优化
关于 promise 的问题:请问在这个短小函数里 then 会被执行几遍?
Vue嵌套路由失效?
php中static和abstractor有啥区别?
如何删除选中的cell中对应的行?
js弹窗验证失败
关于STUN协议中属性的一点问题
vuejs 折叠面板的展开收缩动画应该怎么实现?用vue自带的过渡效果还是css3?
关于表单页面提交信息的判断
extjs3.2 panel组件能否添加focus和blur事件
如何将全局变量i变成函数的局部变量?
vue应用嵌在微信里 ,点击微信右上角的分享其中一个页面的链接 ,怎样让用户点开来就是当前页面呢?
AngularJS路由添加controller问题
PC端API和移动端API有什么不同吗?



快速导航
PHP MySQL HTML CSS JavaScript MSSQL AJAX .NET JSP Linux Mac ASP 服务器 SQL jQuery C# C++ java Android IOS oracle MongoDB SQLite wamp 交通频道 作文范文 “三八”妇女节讲话 军训总结作文450字 轻握一份懂得,带着明媚温暖前行 班级文艺汇演发言稿 赛尔号,雷伊 玛斯战争 念你的心绪象那无序的雨丝纷飞… 写于凌晨 小学议论文800字:探索 海宴小说作品中的经典语录 2015庆祝教师节演讲稿 我的初中生活(一)_900字 才发现这么微不足道 商场物业管理合同 多想想父母】 2016年党员创先争优活动公开承诺书 湖南岳阳高考零分作文范文800字 春风无语醉乡愁 I am waiting for a hug .hug all my uneasiness 环境教育工作计划(精选4篇) 秀才与小偷(穿越)系列3 怎么写好安全生产工作总结 《复活》读后感1000字 感恩话题作文600字 十九岁的包袱 创建五好党委事迹材料_事迹材料 开心事作文500字 年会小品剧本;鬼子进村 世俗与婚姻 今生难得有情人 如果感觉很辛苦那么不妨停下来休息一下 夜伴孤灯写清愁 对不起我的良知,对不起我的病人 回到21世纪 学生获奖感言 营销与策划专业毕业生求职信范文 愿你所到之处,遍地阳光 暗恋——没有勇气,只能是浓浓的暗恋 “醋坛子”丢丢 在全市规范化服务型政府(机关)建设监督员聘任会上的讲话 变作文150字 描写“昆虫”的好句 新年火辣辣作文 办公室文职求职信范文 为青春喝彩:民政局工作人员爱岗奉献演讲二则 秋风秋雨愁煞人 包饺子不简单450字 联营股本贷款合同 土木工程地质实习心得 高中高三作文1500字:《认识父亲》

Copyright © 2016 phpStudy |