Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在Javascript中强制$.getJSON在$http之前运行?

如何在Javascript中强制$.getJSON在$http之前运行?
EN

Stack Overflow用户
提问于 2015-07-23 00:23:36
回答 3查看 611关注 0票数 0

我有以下Javascript代码在我的网页控制器。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 $.getJSON('resources/properties/properties.json', function(data) {
    $scope.properties = data; 
    });

$http({
    method: 'GET',
    url: $scope.properties.Properties.dataLocation
        }).
        success(function (data) {
        $scope.all_types_and_configs = data;
        $scope.exec = [];    
        }).
        error(function (data) {
        $scope.error = data.message;
        $scope.data = '';
        return;
        });
});

要获取的json文件的结构不是问题。

它应该首先运行$.getJSON命令,然后运行$http -请求,因为$http请求从顶部的$.getJSON部件中定义的变量获得它的url,但是当我在它下面执行console.log(属性)时,它会弹出“未定义的”。

为什么代码没有按照编写的顺序执行?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-07-23 00:42:26

为了编写代码,代码正在执行,当相应的请求完成时,只执行回调函数。因此,您应该将第二个电话放在第一个回调中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$.getJSON('resources/properties/properties.json', function(data) {
    $scope.properties = data;
    $http({method: 'GET', url: $scope.properties.Properties.dataLocation}).
        success(function (data) {
            $scope.all_types_and_configs = data;
            $scope.exec = [];    
        }).
        error(function (data) {
           $scope.error = data.message;
           $scope.data = '';
           return;
        });
    });
});
票数 1
EN

Stack Overflow用户

发布于 2015-07-23 00:28:27

它是异步执行的,因此这两个调用将独立执行。$.getJSON有第三个参数--成功回调--这是同步这些参数的方法。http://api.jquery.com/jquery.getjson/

不知道为什么要混合jQuery AJAX和角$http?

票数 0
EN

Stack Overflow用户

发布于 2015-07-23 00:37:43

同样,在收到JSON之后,您已经有了行$scope.properties = data;来运行。将其放入传递给getJSON的回调函数中。

为什么代码没有按照编写的顺序执行?

它是。

getJSON(url, foo)的意思是“向url发出HTTP请求,并设置一个事件处理程序,以便在收到响应时调用foo”。

你似乎在期待它在做任何其他事情之前等待响应。这将锁定UI并变得可怕。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31581914

复制
相关文章
在 .NET Core 中运行 JavaScript
在 .NET Framework 时,我们可以通过V8.NET等组件来运行 JavaScript,不过目前我看了好几个开源组件包括V8.NET都还不支持 .NET Core ,我们如何在 .NET Core 中运行 JavaScript 呢,答案是使用 NodeServices。关于为何有在 .NET Core 中执行 JavaScript 这种需求,比较特殊,举个栗子:当你做模拟登录时,目标网站可能采用一些加密算法来计算特殊的值,如果你要完全模拟,那么除了用C#翻译这个算法还有个办法就是直接将这段加密算法JS代码拷贝使用C#来执行。还举个栗子:SPA服务端渲染,比如Angular、 React等。
晓晨
2019/03/20
3.9K0
在 .NET Core 中运行 JavaScript
JavaScript 中的强制类型转换[每日前端夜话0x4F]
JavaScript 建立在一系列基本单元之上。你应该对其中的一些已经很熟悉了,比如字符串和数字:
疯狂的技术宅
2019/04/23
2K0
在 .NET 应用程序中运行 JavaScript
前几天我在做一个副业,意识到我需要使用一些 JavaScript 功能。一想到要再次处理 Node.js 和 npm,我就完全放弃了,所以我决定研究一下在 .NET 应用程序中运行 JavaScript 的可能性。很疯狂吧?实际上,这出乎意料的简单。
独立观察员
2022/12/06
2.6K0
在 .NET 应用程序中运行 JavaScript
如何在 Linux 中强制删除目录?
在Linux系统中,有时候可能会遇到无法正常删除目录的情况,例如目录包含非空文件、没有删除权限等。在这种情况下,我们可以使用一些强制删除的方法来解决问题。本文将详细介绍在Linux中如何强制删除目录的几种常见方法。
网络技术联盟站
2023/06/08
8.6K0
如何在 Linux 中强制删除目录?
通过JavaScript实现HTTP到HTTPS的强制跳转 By HKL,
最近通过一些在线文件云空间测试云存储部署静态网站遇到HTTP到HTTPS的强制跳转的问题,平时通过nginx配置是比较简单实现的, 但是例如七牛云虽然可以设置HTTPS访问,但是不支持设置HTTP到HTTPS的强制跳转, 解决方法可以是先通过设置HSTS,通过浏览器级的强制跳转实现,但是本方法只能在webkit内核的浏览器上生效,而且由一定的时间差, 所以最后寻找到通过前端JavaScript脚本实现HTTP到HTTPS的强制跳转,代码如下
hiplon
2020/07/22
1.8K0
Nginx 中运行 JavaScript
Nginx 作为市场占有率最高的Web服务器,主打高性能、可扩展。自带了很多核心功能模块,并且也有大量的第三方模块。
ConardLi
2021/08/10
2.7K0
如何在Firefox中配置HTTP?
在浏览器中配置HTTP是一个常见的需求,它可以让我们轻松访问需要的网站或保护个人隐私。本文将为您详细介绍如何在Firefox浏览器中配置HTTP应用,帮助您实现无缝的HTTP体验。无论您是初次接触HTTP还是有一定经验的用户,本文都能为您提供实用的操作步骤和示例代码。让我们一起来配置Firefox的HTTP吧!
华科云商小徐
2023/10/10
5720
Python 强制杀死运行中的多进程脚本
拉灯的小手
2023/06/20
2320
如何在Windows中运行bash
当微软宣布,将在Windows10上面支持bash时,所有的Unix命令行用户都为之雀跃了。上周三,微软发布了一个测试版本,开始支持了这项功能。 为了运行bash,首先要进行几步操作。首先,需要获得Windows10的build 14316。 安装内测版本之后,用户需要切换到开发者模式,从设置>更新(Settings > Updates),安全>开发者(Security > For Developers)打开新的设置页面,选择“Windows Subsystem for Linux (Beta)”,重启
CSDN技术头条
2018/02/11
3.8K0
如何在Windows中运行bash
让Python在退出时强制运行一段代码
设想这样一个场景,你要给一个项目开发测试程序,程序开始运行的时候,会创建初始环境,测试完成以后,会清理环境。
王图思睿
2021/06/16
2.3K0
HTTP强制跳转HTTPS的方法
所有的http请求全部都自动重定向为https,只需要在nginx上添加相应配置即可。 使用rewrite方法
KEVINGUO_CN
2020/03/17
6.8K0
教育直播源码:在Python退出时强制运行代码的方法
设想这样一个场景,你要给一个项目开发测试程序,程序开始运行的时候,会创建初始环境,测试完成以后,会清理环境。
万岳教育源码
2020/04/30
1.5K0
教育直播源码:在Python退出时强制运行代码的方法
如何在 OpenShift 中运行 Collabora Office
近期在尝试 office 文档在线编辑和预览的一些解决方案, 目前在使用Collabora Office, 但是Collabora的docker镜像在OpenShift中运行不起来, 一直提示Operation not permitted.
东风微鸣
2022/04/21
1.2K0
如何在 OpenShift 中运行 Collabora Office
如何在Docker容器中运行Docker [3种方法]
/var/run/docker.sock是默认的Unix套接字。套接字用于在同一主机上的进程之间进行通信。Docker守护程序默认情况下侦听docker.sock。如果您在运行Docker守护程序的主机上,则可以使用/ var/run/docker.sock管理容器。
DevOps云学堂
2020/09/14
27.1K0
如何在Docker容器中运行Docker [3种方法]
Python 强制停止多线程运行
"""raises the exception, performs cleanup if needed"""
授客
2019/09/10
2.5K0
Python 强制停止多线程运行
JavaScript在移动端网站运行慢?咋办?
随着移动互联网快速发展,移动端网站的页面效果也越来越绚,但是交互体验或多或少有些“迟钝”?这是为啥呢?
前端达人
2019/01/10
2.3K0
JavaScript在移动端网站运行慢?咋办?
【译】如何在JavaScript中复制Object
不管在什么编程语言中,复制一个对象的值而不是它的引用都是一个十分常见的工作。复值对象的值和复制对象的引用的区别在与通过复制值可以得到两个有着相同值或数据,但是毫不相干的对象,复制引用意味着得到的两个对象在内存中指向相同的数据块。当objet A和object B都引用自相同的底层数据时,只要你操作object A,就会修改到object B。
腾讯IVWEB团队
2020/06/28
2.2K0
点击加载更多

相似问题

强制javascript函数在别人之前运行?

15

方法在$.getJson完成运行之前结束。

312

如何在onCreate之前强制运行onStartCommand

00

强制javascript在*浏览器重绘之前运行* (jsFiddle示例)

25

HighChart在$.getJSON之前创建

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文