首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从$.getJSON作用域之外访问外部文件JSON数据

从$.getJSON作用域之外访问外部文件JSON数据,可以通过以下几种方式实现:

  1. 使用回调函数:在$.getJSON方法中,可以传入一个回调函数作为参数,该回调函数会在获取到外部文件JSON数据后被调用。在回调函数中,可以对获取到的数据进行处理和操作。例如:
代码语言:txt
复制
$.getJSON("external.json", function(data) {
  // 在这里可以对获取到的data进行处理和操作
  console.log(data);
});
  1. 使用Promise对象:可以使用ES6中的Promise对象来处理异步操作。通过将$.getJSON方法包装在一个Promise对象中,可以在外部访问到获取到的数据。例如:
代码语言:txt
复制
function getExternalData() {
  return new Promise(function(resolve, reject) {
    $.getJSON("external.json", function(data) {
      resolve(data);
    });
  });
}

getExternalData().then(function(data) {
  // 在这里可以对获取到的data进行处理和操作
  console.log(data);
});
  1. 使用async/await:如果在支持ES8的环境中,可以使用async/await来处理异步操作。通过将$.getJSON方法包装在一个Promise对象中,并使用async关键字定义一个异步函数,可以在外部访问到获取到的数据。例如:
代码语言:txt
复制
async function getExternalData() {
  return new Promise(function(resolve, reject) {
    $.getJSON("external.json", function(data) {
      resolve(data);
    });
  });
}

(async function() {
  const data = await getExternalData();
  // 在这里可以对获取到的data进行处理和操作
  console.log(data);
})();

以上是从$.getJSON作用域之外访问外部文件JSON数据的几种常见方式。在实际应用中,可以根据具体需求选择适合的方式来获取和处理外部文件JSON数据。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

javascript跨

所谓Javascript跨问题,是指在一个下的页面中通过js访问另一个不同下的数据对象,出于安全性考虑,几乎所有浏览器都不允许这种跨访问,这就导致在一些ajax和iframe应用中,使用跨的web...1.2中,您可以跨调用 JavaScript 文件。注意:Safari 2 或更早的版本不能在全局作用域中同步执行脚本。如果通过 getScript 加入脚本,请加入延时函数。...实现跨的原理:通过 GET 方式请求载入并执行一个 JavaScript 文件, 相当于通过src的形式的导入一个外部的js 2.getJson方法 语法:jQuery.getJSON(url,data...}); 在jQuery 1.2 中,您可以通过使用 JSONP 形式的回调函数来加载其他网JSON 数据,如 "myurl?...使用flash 如果你要读取一个外部文件,比如swf,picture,mp3等等,那么就需要一个跨策略文件,allow-access-from domain表示允许访问的URl,如果有多个依次添加,如果允许所有就一个

1.5K40
  • jquery getJSON不执行问题解决

    ---- 2 回调是否成功 你可以在原回调函数里面加句alert(“回调成功”) , 来确定一下是否调用了回调函数,如果没有调用,则仔细检查你的JSON数据格式 把json 数据输出,拉到 JSON在线验证工具中进行验证即可...---- 3 Ajax跨问题 如果JSON 格式正常并且getJSON请求成功 并且你是跨请求或者浏览器本地测试, 那么几乎是Ajax 跨问题导致的。 什么叫跨?...只要协议、域名、或端口有任何一个不同,就会被当做是不同的。 但是仔细再一想,我请求的是本地文件啊,没有通过服务器请求啊,应该不算跨么?...什么鬼 再查发现,有的同学是使用 chrome, 在浏览器读取本地相对路径脚本时,其禁止向第三方请求数据。 (只要是通过file://方式访问,或者直接拖进浏览器访问,都叫本地运行) 什么叫第三方?...~成功访问到本地json文件。 附: sublimeServer启动和使用 打开Package Control,选择install package ?

    1.3K10

    JS 跨问题常见的五种解决方式

    二、解决办法 跨问题,更多的情况是出现在需要用ajax获取数据时,那么现在就先看个非跨的栗子 (功能主要是后台获取names列表,并展示出来) 前端部分: <div id="...回调函数是当响应到来时应该在页面中调用的函数,而<em>数据</em>就是传入回调函数中的<em>JSON</em><em>数据</em>。 jsonp的原理是: 就是利用标签没有跨<em>域</em>限制,来达到与第三方通讯的目的。...中的问号,之后获取到<em>数据</em>后又会自动销毁,实际上就是起一个临时代理函数的<em>作用</em>。...$.<em>getJSON</em>方法会自动判断是否跨<em>域</em>,不跨<em>域</em>的话,就调用普通的ajax方法;跨<em>域</em>的话,则会以异步加载js<em>文件</em>的形式来调用jsonp的回调函数。...//在iframe载入这个页面也设置document.domain,使之与主页面的document.domain相同 上述只谈到了,document.domain ,主要是为了不同<em>域</em>间<em>访问</em><em>数据</em>操作<em>数据</em>

    1.5K00

    $.ajax()方法详解学习

    超时周期开始于.ajax 访问成功的那个时间点;如果几个其他请求都在进步并且浏览器有没有可用的连接,它有可能在被发送前就超时了。...(7)dataType : (default: Intelligent Guess (xml, json, script, or html)) 类型: String,服务器返回你期望的数据类型...注意在远程请求时(不在同一个下),所有post请求都将转为get请求。 json:返回JSON数据。 jsonp:JSONP格式。使用SONP形式调用函数时,例如myurl?...这个函数传递3个参数:服务器返回的数据,并根据dataType参数进行处理后的数据,一个描述状态的字符串;还有 jqXHR(在jQuery 1.4.x前为XMLHttpRequest) 对象。...**dataType** 类型:String 服务器返回的预期的数据类型。默认:智能猜测(xml, json, script, text,html)。

    5.4K10

    详解

    ,相对路径换成其他的绝对路径(跨访问的接口地址) 服务器端对于CORS的支持通过设置 Access-Control-Allow-Origin ,如果浏览器检测到相应的设置,则允许Ajax跨访问...请求不同数据是不允许的,但在页面上引入不同的js脚本文件是允许的,jsonp利用这个特性实现。...callback=dosomething"> js文件载入成功后会执行url参数中指定的函数,并且把需要的json数据作为参数传入。所以jsonp需要服务器端的配合。 <?...中的问号,之后获取到数据后会自动销毁,实际上是起一个临时代理函数的作用。...$.getJSON方法会自动判断是否跨,不跨的话,就调用普通的ajax方法;跨的话,则会以异步加载js文件的形式来调用jsonp的回调函数。

    1.3K70

    AJAX跨请求JSONP 原

    JSONP(JSON with Padding)是一个非官方的协议,它允许在服务器端集成Script tags返回至客户端,通过javascript callback的形式实现跨访问(这仅仅是JSONP...由于同源策略的限制,XmlHttpRequest只允许请求当前源(域名、协议、端口)的资源,为了实现跨请求,可以通过script标签实现跨请求,然后在服务端输出JSON数据并执行回调函数,从而解决了跨数据请求...下边这一DEMO实际上是JSONP的简单表现形式,在客户端声明回调函数之后,客户端通过script标签向服务器跨请求数据,然后服务端返回相应的数据并动态执行回调函数。...jsonp.php 文件代码 <?...jsoncallback']); //json数据 $json_data = '["customername1","customername2"]'; //输出jsonp格式的数据 echo $jsoncallback

    90920

    详解JavaScript跨问题

    维基百科的定义是:JSONP(JSON with Padding)是资料格式 JSON 的一种“使用模式”,可以让网页别的网要资料。...回调函数是当响应到来时应该在页面中调用的函数,而数据就是传入回调函数中的JSON数据。 在js中,我们直接用XMLHttpRequest请求不同上的数据时,是不可以的。...callback=dosomething"> js文件载入成功后会执行我们在url参数中指定的函数,并且会把我们需要的json数据作为参数传入。...中的问号,之后获取到数据后又会自动销毁,实际上就是起一个临时代理函数的作用。...$.getJSON方法会自动判断是否跨,不跨的话,就调用普通的ajax方法;跨的话,则会以异步加载js文件的形式来调用jsonp的回调函数。

    1.1K100

    ajax跨问题以及解决方案_js跨请求的三种方法

    ajax跨 AJAX跨请求 GetJson实现跨请求 CrossOrigin注解实现跨 出于浏览器的同源策略限制。...如果服务器在您的控制之下,请将请求站点的源添加到允许访问集,方法是将其添加到Access-Control-Allow-Origin头的值。 为什么会有跨呢?...答案是生效了; Web页面上调用js文件时可以跨,也就是后拥有”src”这个属性的标签都却拥有跨的能力 那么我们转变思路,如果将异步请求转到js文件身上 比如我们可以这么做 后端可以接收到前端数据...对象的一些感悟与理解; 前端传过来的数据—-可能是字符串,也可能是json对象,但是在处理的时候还是以字符串进行处理的, JSON.stringify()方法是将一个JavaScript对象转换成符合...JSON格式的字符串,然后后端通过解析字符串在转化为一个json对象; 所以 ajax跨的解决方案有种了, 第一种是 jsonp的形式, 另一种是getjson() 最后一种是注解CrossOrigin

    3.2K20

    通过JSONP实现跨访问

    访问 说到跨访问就要谈到浏览器的同源策略,所谓同源指的就是协议相同、域名相同、端口号相同,三个条件必须全部匹配,否则就会收到限制,例如: Cookie、LocalStorage 和 IndexDB...无法读取 DOM 无法获得 AJAX 请求不能发送 而互联网默认原则就是同源策略,也就是说不允许跨访问。...网页通过添加一个元素,向服务器请求JSON数据,这种做法不受同原政策限制;服务器收到请求后,将数据放在一个指定名的回调函数里传回来。...// 响应的数据必须是JSON格式 // 响应的数据作为调用的函数的参数传递 res.end('fn({"msg":"Hello world"})'); }); server.listen...方法 JQuery中的$.getjson()方法允许通过使用JSONP形式的回调函数来加载其他网JSON数据 $.getJSON('http://127.0.0.1:3000?

    1.7K30

    详解 【原创】

    ,相对路径换成其他的绝对路径(跨访问的接口地址) 服务器端对于CORS的支持通过设置 Access-Control-Allow-Origin ,如果浏览器检测到相应的设置,则允许Ajax跨访问...请求不同数据是不允许的,但在页面上引入不同的js脚本文件是允许的,jsonp利用这个特性实现。...callback=dosomething"> js文件载入成功后会执行url参数中指定的函数,并且把需要的json数据作为参数传入。所以jsonp需要服务器端的配合。 <?...中的问号,之后获取到数据后会自动销毁,实际上是起一个临时代理函数的作用。...$.getJSON方法会自动判断是否跨,不跨的话,就调用普通的ajax方法;跨的话,则会以异步加载js文件的形式来调用jsonp的回调函数。

    1.3K50

    杨老师课堂之Jquery的筛选,事件,效果,Ajax,javascript跨)

    事件冒泡可能会引起预料之外的效果,上例中,本来只想触发元素 的click事件,然而 元素和元素的click事件也同时被触 发了.因此有必要对事件的作用范围进行限制.当单击元素时,只 触发元素的click...•页面初次加载时不需要加载全部的javascript文件,在需要时动态加载 jQuery.getJSON(url, [data], [callback]) 通过 HTTP GET 请求载入 JSON...应用场景:$.get serializeArray()方法 •该方法作用于一个jQuery对象,可以将DOM元素内容序列化为JSON数据格式。...跨:在一个服务器上,去访问另一个服务器 jQuery如何实现跨请求?使用JSONP形式实现跨。 javascript如果调用另一个程序,不能执行当前js函数。...什么是JSONP •JSONP(JSON with Padding)是数据交换格式 JSON 的一种“使用模式”,可以让网页别的网要资料。

    8.3K20

    微信公众号开发之授权获取用户信息

    javen_config.txt配置文件中配置授权域名 四、用户授权并获取code ,使用code换取access_token 并使用access_token获取用户信息 授权访问的URL: https...appId 第二个参数为授权后回调的地址http://域名/oauth 第三个参数为state 重定向后会带上state参数,开发者可以填写a-zA-Z0-9的参数值,最多128字节 第四个参数 应用授权作用...true 为不弹出授权页面 应用授权作用,snsapi_base (不弹出授权页面,直接跳转,只能获取用户openid),snsapi_userinfo (弹出授权页面,可通过openid拿到昵称、...WeiXinOauthController.class); /** * 如果要支持多公众账号,只需要在此返回各个公众号对应的 ApiConfig 对象即可 * 可以通过在请求 url 中挂参数来动态数据库中获取...()); if (apiResult.isSucceed()) { JSONObject jsonObject=JSON.parseObject(apiResult.getJson

    3.6K40

    使用Jsonp解决跨数据访问问题

    Ajax提供了在后台提交请求访问数据的功能。其实现主要使用的是XMLHttpRequest函数,这个函数允许客户端的Javascript 发送到服务器端的HTTP请求并获得返回数据。...理解同源策略的限制 同源策略是指阻止代码获得或者更改另一个域名下获得的文件或者信息。也就是说我们的请求地址必须和当前网站的地指相同。同源策略通过隔离来实现对资源的保护。...JSON数据。...然后执行这个函数,处理JSON数据,并显示在客户页面上。 JQuery的JSONP支持 JQery 1.2以后,就开始支持JSONP的调用。...注意:     JSONP是一个非常强大的构建mashp的方法,可是不是一个解决跨访问问题的万能药。它也有一些缺点     第一也是最重要的:JSONP不提供错误处理。

    1.1K20
    领券