【发布时间】:2017-07-02 13:38:40
【问题描述】:
这就是现在发生的事情
我用jquery Ajax调用Server端Servlet代码
Servlet 代码使用线程从远程位置读取属性文件并将其写入 Servlet 响应对象。
- Ajax 调用在启动线程时完成。
我希望 Ajax 调用等待线程完成其任务。我尝试使用 JQuery when 方法但它没有被调用(使用 jquery 版本 2+)。
$.when(loadProperty()).done(function(a1){
alert('load proeprty finished :'+a1);
});
function loadProperty(){
var webappName = $('#webapps').val();
var proeprty_type = $( "#property_type option:selected" ).text();
$("#property_table").empty();
$.ajax({
url: "UDEPropertyManager?mode=getProperty",
dataType: "json",
type: "POST",
contentType: "application/json; charset=utf-8",
dataFilter: function(data) { return data; },
success: function(data) {
}
});
}
【问题讨论】:
-
你是否为 ajax 调用设置了 async: false ??
-
A.您的函数不返回任何内容。 B. 固定点 A 后,您将不再需要
when -
为什么在 Servlet 上启动新线程时 Ajax 调用结束?
-
希望你已经尝试过这个选项,在进行 ajax 调用时:async: false,
标签: javascript jquery ajax multithreading servlets