我在一个页面上有几个<select>
,我想用Ajax填充它。
问题陈述:有些ajaxcalls最多可能需要两分钟才能执行。结果导致其余的调用(只需要一秒钟)在之前的ajax调用之后“执行”。
在网络表中,获取BSCS
,然后在“之后”获取EPCOMON
。沿着这条线,每个请求只有在前一个请求完成后才会发出。我已经完成了测试并验证了BSCS
确实会在2分钟后返回,例如,SAP会在1秒后返回。
如何才能真正异步地提出这些请求?
我从一个简单的jQuery $.get
调用开始:
for select2 in $("select.select2-package[name^='component_bundle']")
product = select2.getAttribute('data-product')
$.get "/bundles/fetch_components.json?product=#{product}", (resp) ->
$(product).val(resp)
最后继续看看我是否可以强制异步(如果有什么东西覆盖了默认的jQuery异步true
值)
$.ajax
url: "/bundles/fetch_components.json?product=#{product}"
dataType: 'application/json'
cache: true
ifModified: false
async: true
success: (resp) ->
console.log(resp.responseText)
$("#component_bundle_#{product}").val(resp.responseText)
error: (resp) ->
console.log(resp)
portal.showErrorDialog("ERROR", resp.responseText)
两次尝试都会产生相同的结果。 每个ajax调用一个接一个地执行。如何让这些请求真正异步工作?