这是我要执行的一些代码。我想等待AJAX响应,以便可以从服务器返回一些信息。有什么办法可以做到这一点?
function functABC(){ $.ajax({ url: 'myPage.php', data: {id: id}, success: function(data) { return data; } }); //Wait for AJAX (???) } var response = functABC();
function functABC(){ // returns a promise that can be used later. return $.ajax({ url: 'myPage.php', data: {id: id} }); } functABC().then( response => console.log(response); );
很高兴在这里读到。
这实际上不是“同步的”,但我认为它可以达到OP的预期。
async
所有Ajax调用都可以异步(使用回调函数,这是在“成功”键之后指定的函数)或同步完成-有效地阻止并等待服务器应答。要获得同步执行,您必须指定
async: false
就像这里描述的
但是请注意,在大多数情况下,异步执行(通过成功的回调)就可以了。