前端访问本地json小结

本文总结了前端访问本地JSON文件时遇到的跨域问题,探讨了浏览器的同源策略,并提出了两种解决方案:将JSON文件放在同一服务器下并通过接口请求,或者使用JSONP(仅支持GET方式)。作者分享了在Vue项目中加载JSON数据的方法,指出文件应放在static文件夹下,并提醒注意目录结构。
摘要由CSDN通过智能技术生成

在前端我们通过jquery 获取数据我们最先想到的是

$.ajax({
         type: 'get',
           url: './jsondata.json',
           async: false,
           dataType: 'json',
           success: function(data){
               debugger;
           },
           error: function(XMLHttpRequest, textStatus, errorThrown) {
               debugger;
           }
       })

but 在浏览器上运行会报错:
Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.

报错信息:浏览器不支持跨域
通俗的讲,浏览器有一个很重要的安全机制,即为同源策略:不用域的客户端脚本在无明确授权的情况下不能读取对方资源,跨域也就是不同源。

那我们就要问了,那咋办
两种解决思路:1.将你的json 文件放到跟js文件 相同服务器下,通过 请求接口的形式解决 (这个不详细说明)

2.通过jsonp 形式解决 (只支持Get方式) ==》 借鉴前辈们的做法
json.html

<!DOCTYPE html>  
<html>  
    <head>  
        <meta charset="UTF-8">  
      
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值