利用jsonp实现从github上获取一个json

问题描述:打算从github上以ajax方式获取一个json文件,之后遇上了跨域问题,google了以后用jsonp解决了,但是又出现了MIME type错误的问题。

报错如下:

图片描述

代码如下:

$.ajax({
    url: 'https://rawgit.com/nianyuyu/play_javascript/master/1.json',
    type:"get",
    dataType: 'jsonp',
    jsonp: "callback",
    success: function(data){
      alert(data);
    }
});

我google以后知道是github设置了X-Content-Type-Options:nosniff字段,给出的解决方案是用RawGit转换url,尝试了以后还是报错,请问应该怎么解决,谢谢啦~

阅读 4.2k
3 个回答

你确定你知道github是什么,jsonp是什么吗?
请先详细了解jsonp工作原理

关于ajax获取数据跨域的问题可以下面几个方面去解决。

1、数据源方是否支持jsonp,如果支持,使用jsonp获取。不支持往下看

2、是否有数据源的更改权限,如果有,设置允许跨域配置jsonp的支持。没权限往下看

3、请求方是否支持服务端语言,如果支持,可做中转。请求本域的服务端一个页面,这服务端页面去获取对方数据。本域不支持服务端语言往下看。

4、配置一个服务端或者购买一个支持动态语言的虚拟空间,来获取数据并转换成jsonp。

这个问题刚刚帮人解决过 json文件改成 utf-8无bom 格式 就行了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题