前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >jquery getJSON不执行问题解决

jquery getJSON不执行问题解决

作者头像
莫斯
发布2020-09-09 21:18:00
1.3K0
发布2020-09-09 21:18:00
举报
文章被收录于专栏:备份备份

出现问题的原因及解决方案

如果遇到getJSON不执行问题 请根据以下步骤一次对号入座并解决

1 getJSON请求是否成功

代码语言:javascript
复制
跟踪一下服务器端的后台代码,看前台是否发送请求成功,后台是否成功接收请求

2 回调是否成功

你可以在原回调函数里面加句alert(“回调成功”) , 来确定一下是否调用了回调函数,如果没有调用,则仔细检查你的JSON数据格式

把json 数据输出,拉到 JSON在线验证工具中进行验证即可,一般主要是双引号的问题。


3 Ajax跨域问题

如果JSON 格式正常并且getJSON请求成功 并且你是跨域请求或者浏览器本地测试, 那么几乎是Ajax 跨域问题导致的。

什么叫跨域?字面理解,跨是跨越,域是别的服务器,跨域就是到别的服务器上取东西。报错的意思应该就是chrome下,跨域请求只能通过通过这些协议标准实现:http、data、https、chrom-extension、chrom-extension-resource。

只要协议、域名、或端口有任何一个不同,就会被当做是不同的域。

但是仔细再一想,我请求的是本地文件啊,没有通过服务器请求啊,应该不算跨域么?什么鬼

再查发现,有的同学是使用 chrome, 在浏览器读取本地相对路径脚本时,其禁止向第三方请求数据。 (只要是通过file://方式访问,或者直接拖进浏览器访问,都叫本地运行) 什么叫第三方?那就是不管本地文件、还是服务器url 文件都不行。

3.1 解决方法

在sublime里面 启动sublimeServer,开启服务器模式,在浏览器中通过localhost:8080/index.html访问,再看 debug tool,没有报错了,完美!~成功访问到本地json文件。

附: sublimeServer启动和使用

  1. 打开Package Control,选择install package
在这里插入图片描述
在这里插入图片描述
  1. 在输入框中输入sublime serve就行了,安装完成
  2. 点击tool–sublimeserver–start sublimeserver
在这里插入图片描述
在这里插入图片描述

4. 然后到页面,右键选择view in sublimeserve,如图:

在这里插入图片描述
在这里插入图片描述
  1. 即可在页面上可见
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-05-09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 出现问题的原因及解决方案
  • 1 getJSON请求是否成功
  • 2 回调是否成功
  • 3 Ajax跨域问题
    • 3.1 解决方法
    • 附: sublimeServer启动和使用
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档