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