首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >还有更多的标准方法从jQuery ajax调用恢复功能吗?

还有更多的标准方法从jQuery ajax调用恢复功能吗?
EN

Stack Overflow用户
提问于 2013-03-04 14:18:08
回答 1查看 154关注 0票数 0

我正试图编写一个涉及大量代码的大型项目。这就是为什么我希望将功能从不同的文件中分离出来。

第一个文件是dataJS,我调用AJAX从JSON文件中获取数据。第二个文件,showJS,我想显示从dataJS文件中获取的数据。

当涉及到实现时,我意识到AJAX调用需要更长的时间,即使我按照顺序包含了dataJS和showJS,showJS仍然会得到一个空数据。

因此,我在continueFromDataJS文件中创建了一个名为continueFromDataJS()的函数,并在AJAX成功函数的末尾调用了continueFromDataJS()。

我认为这是一个相当完美的解决方案。有什么标准的方法吗?

此外,我的Visual中的所有intellisense都消失了。尽管有单独的文件,但是有什么方法可以使visual从dataJS获得智能感知吗?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2013-03-05 10:28:02

对不起,我不知道如何添加一个后续问题--这是代码

为了简单起见,我重命名了其中的一些文件,并且只取其中的一部分。希望这有帮助

html代码

dataJS.js中的代码

代码语言:javascript
复制
var planets = [];
var jsonData = null;

$(function () {

$.getJSON("Scripts/planetData.js", function (data) {
    //planets[0] = new planet("uranus", "career", 45, 700, 400, 0.1, 5, 3);
    jsonData = data;
    for (var i = 0; i < data.planets.length; i++) {

        var curPlanet = data.planets[i];

        planets[i] = new planet(curPlanet.graphic, i, curPlanet.field, curPlanet.planetInitialAngle, curPlanet.distanceFromStar, curPlanet.planetRadius, curPlanet.planetRevolvingSpeed, curPlanet.planetRotationSpeed, curPlanet.contents.length);

        $("#result").append("<p>" + curPlanet.graphic + " " + curPlanet.field + " " + curPlanet.planetInitialAngle + " " + curPlanet.distanceFromStar + " " + curPlanet.planetRadius + " " + curPlanet.planetRevolvingSpeed + " " + curPlanet.planetRotationSpeed + " " + curPlanet.contents.length + "</p>");

    }


    callDisplayScript(); //**continue from showJS.js file is that the way to do this?**

    });

});
// more functions below in dataJS.js

showJS.js

代码语言:javascript
复制
function callDisplayScript() { **// this is the ugly part. What's the proper way to do it?**
    $("#display #close").click(function () {
        $("#display").fadeOut('slow');
    });
    $article = $("#display article");
    $article.empty();
    var data = jsonData.planets[pID].contents; // **this line won't get jsonData if it's out this curly brace.**

    for (var i = 0; i < data.length; i++) {
        $article.append(data[i].title);
        $article.append(data[i].content);
    }

    $("#display").fadeIn('slow');
};

别忘了回答我的智能感知问题。我想在datajs.js中自动提示行星,jsonData在datajs.js中声明是可能的吗?

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

https://stackoverflow.com/questions/15203638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档