Javascript函数的顺序错误

Javascript函数的顺序错误,javascript,jquery,ajax,Javascript,Jquery,Ajax,我正在调用一个函数,该函数从服务器加载JSON,并在DOM中动态创建的div中显示它。显示创建的div之后,我想做其他事情,比如parent.appendChild(x)。现在有时第二步在第一步之前运行。我尝试过使用这个代码,但它似乎不起作用 $.ajax({ url: firstfunction(), success: function() { parent.appendChild(x) } }); 请注意,firstfunction()加载JSON并将其显示在新创建的d

我正在调用一个函数,该函数从服务器加载JSON,并在DOM中动态创建的
div
中显示它。显示创建的div之后,我想做其他事情,比如
parent.appendChild(x)
。现在有时第二步在第一步之前运行。我尝试过使用这个代码,但它似乎不起作用

$.ajax({
  url: firstfunction(),
  success: function() {
    parent.appendChild(x)
  }
});
请注意,
firstfunction()
加载JSON并将其显示在新创建的div中


有什么办法可以解决这个问题吗?

您应该使用Promissions,这样您就可以等待Ajax请求完成后再继续执行另一个任务(例如操作DOM)

异步/等待$。ajax示例:


我通过使用同步httprequest修复了这个问题。

第二步在第一步之前运行,这是不可能的,因为回调只在AJAX请求完成并使用成功的HTTP响应代码后才会触发。您展示的小示例应该可以正常工作-假设
x
是通过回调的参数提供的。我们需要更多地查看您的代码,因为您更有可能在页面中的其他地方出现错误,导致该问题,但它不会返回任何内容。它只是加载json并将其显示在新创建的div中。@aniketsahrawat这就是你的问题所在。你为什么这么做?
url
属性应该是一个字符串,或者是一个返回字符串的函数,这是对…@Sarius进行AJAX调用的位置。“它不返回任何东西”您使用它的方式,它应该返回
url
属性的值…->在提问之前,您是否研究了如何进行
$.ajax
调用,并查看了示例?
async function doAjax(ajaxurl){

 const result = await $.ajax({
      url: ajaxurl
 });
    return result;
}
//Call function
doAjax().then( data => doStuff(data) )