Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
RESTAPI之后将JavaScript加载到HTML中_Javascript_Jquery_Ajax_Rest - Fatal编程技术网

RESTAPI之后将JavaScript加载到HTML中

RESTAPI之后将JavaScript加载到HTML中,javascript,jquery,ajax,rest,Javascript,Jquery,Ajax,Rest,我正在查看一个较旧的html/jquery Web应用程序,需要对其进行更改。最初编写代码的方式是通过SpringMVC。HTML页面将调用Servlet,然后Servlet将HTML返回到客户端/浏览器。此“mypage.html”有几个加载的JS文件: <script src="js/file1.js"></script> <script src="js/file2.js"></script>

我正在查看一个较旧的html/jquery Web应用程序,需要对其进行更改。最初编写代码的方式是通过SpringMVC。HTML页面将调用Servlet,然后Servlet将HTML返回到客户端/浏览器。此“mypage.html”有几个加载的JS文件:

            <script src="js/file1.js"></script>
            <script src="js/file2.js"></script>
            <script src="js/file3.js"></script>
            <script src="js/file4.js"></script>

因此,当页面返回到浏览器时,HTML页面已经替换了值,然后JS添加了这些脚本,这些脚本知道如何处理数据

我取代它的方式,摆脱了MVC的概念,并以不同的方式处理这个问题。在我的例子中,一个页面在iFrame中调用另一个HTML。加载iframe后,它会发出Ajax/REST调用以从后端获取数据。。。因为我们是这样做的,4个javascript文件被加载了,但是没有他们需要的数据,因为它还没有,所以我认为这是一个竞争条件

所以,如果我做一些像

$.ajax({
        type : 'POST',
        url : api_root + '/backed/api/mydataapi',
        contentType : 'application/json',
        dataType : 'json',
        data : JSON.stringify({
            queryid : queryId,
            token : tokenX
        }),
        success : function(data) {

            data1 = data.environment.data1;
            data2 = data.environment.data2;
            data3 = data.environment.data3;

            <script src="js/file1.js"></script>
            <script src="js/file2.js"></script>
            <script src="js/file3.js"></script>
            <script src="js/file4.js"></script>
        }
$.ajax({
键入:“POST”,
url:api_root+'/backed/api/mydataapi',
contentType:'应用程序/json',
数据类型:“json”,
数据:JSON.stringify({
queryid:queryid,
代币:代币X
}),
成功:功能(数据){
data1=data.environment.data1;
data2=data.environment.data2;
data3=data.environment.data3;
}
我认为它不起作用,但这正是我所追求的。如果有更好的方法将这些JS文件添加到页面,但必须在成功调用REST之后。我更像是一个在春季创建RESTful API的后端人员。我不是一个javascript人,多年来也没有这样做过。我的雇主希望真正地重做整个UIctJS,但我们还没有到那里。同时,我必须处理这个半过程

谢谢!

你可以用

如果加载顺序很重要,则需要对此进行一些调整,因为请求是异步的,并且不能以这种方式保证完成顺序

 success : function(data) {

        data1 = data.environment.data1;
        data2 = data.environment.data2;
        data3 = data.environment.data3;

       $.getScript("js/file1.js");
       $.getScript("js/file2.js");
       ....
    }