Jquery Github+;访问JSON格式文件内容的Ajax调用
在我的项目中,我试图从github访问一个JSON格式的文件,作为ajax函数的输入。但我得到了这个错误。我无法解决它 SyntaxError:JSON.parse:第1行第1列的数据意外结束 JSON数据 已阻止跨源请求:同一源策略不允许读取 位于的远程资源 . 这可以通过将资源移动到同一域或域来解决 启用CORS Jquery调用:Jquery Github+;访问JSON格式文件内容的Ajax调用,jquery,json,github,Jquery,Json,Github,在我的项目中,我试图从github访问一个JSON格式的文件,作为ajax函数的输入。但我得到了这个错误。我无法解决它 SyntaxError:JSON.parse:第1行第1列的数据意外结束 JSON数据 已阻止跨源请求:同一源策略不允许读取 位于的远程资源 . 这可以通过将资源移动到同一域或域来解决 启用CORS Jquery调用: var url = "https://raw.githubusercontent.com/test/Utility/ScheduleTest.json"; $.
var url = "https://raw.githubusercontent.com/test/Utility/ScheduleTest.json";
$.ajax({
type: 'GET',
dataType: 'jsonp', //use jsonp data type in order to perform cross domain ajax
crossDomain: true,
url: url,
success: function (responseData, textStatus, jqXHR) {
alert(responseData);
json_value = responseData;
},
error: function (responseData, textStatus, errorThrown) {
alert('POST failed.');
}
});
该URL故意不返回正确的内容类型,因此您不会从中托管(它为所有响应返回文本/纯文本的内容类型)。尝试使用
编辑:您可能需要做更多的工作才能从该URL返回正确的mime类型。看起来您正在寻找text/javascript,所以也许您可以使用.js的扩展?是的,通过将内容类型从JSON更改为text,我得到了值。只剩下处理了。。。感谢老兄,但我在这里遇到了问题,我的文件将每5分钟更改一次,然后它将不会提供这种灵活性。如果点击量增加,它会将我的URL列入黑名单。有没有其他选择……您可能会设置一个nginx实例或其他东西来执行反向代理。我相信rawgit.com基本上就是这么做的。使用API为信息设置服务器可能更容易。