我有这样的代码。我尝试做递归回调函数doWork。当我运行这个时,我得到了ajax和“nextWord”div的第一个回复,我得到了第二个字。但是我不能做回调doWork函数来得到第二个响应。
你有什么建议吗?
<script>
function doWork() {
$.ajax({
type: "POST",
url: "eu.php",
data: { word: $('#nextWord').html()},
dataType: 'json',
success: function( msg ) {
alert($('#nextWord').html());
$( "#nextWord" ).html( msg.nextWord );
$( "#query" ).html( msg.query );
doWork();
//doWork; --- I try and this
},
});
}
$(function() {
doWork();
});
</script>
<div id="nextWord">firstword</div>
<div id="query"></div>
答案 0 :(得分:0)
你应该使用.then而不是成功的回调来避免同一件事的两个处理程序。
<script>
function doWork() {
$.ajax({
type: "POST",
url: "eu.php",
data: { word: $('#nextWord').html()},
dataType: 'json',
success: function( msg ) {
alert($('#nextWord').html());
$( "#nextWord" ).html( msg.nextWord );
$( "#query" ).html( msg.query );
},
}).then(function(data){
doWork();
});
}
$(function() {
doWork();
});