Jquery AJAX调用循环

时间:2015-02-26 05:42:40

标签: javascript jquery ajax

在我的应用中,显示可用的时段(用于预约)。我想添加一个课程' take'到已经采取的slot()。为此我写了下面的代码。

$("td").each(function(){

    var send = $(this).text();

    $.ajax({
        url:'ajax/check-availability.php',
        context: this,
        data:{"slot":send},
        dataType:'json',
        type:'get',
        success: function(result){

            console.log(result);

            if (result.status === "taken") {
                $(this).addClass('taken');

            };

        }
    });

});

它应该执行一个ajax调用,如果一个插槽的结果是“#39;”,则添加“'”'相应的。它执行ajax调用部分,但是将类添加到表中的所有td元素,而不仅仅是采用的那些元素。

check-availability.php,返回'拍摄'在浏览器中调用它但没有任何反应。此外,当条件更改为 result.status ===" notTaken" 时,所有s都会添加到“'

”类中

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

$("td").each(function(){
var that = this;
var send = $(this).text();

$.ajax({
    url:'ajax/check-availability.php',
    context: this,
    data:{"slot":send},
    dataType:'json',
    type:'get',
    success: function(result){

        console.log(result);

        if (result.status === "taken") {
            $(that).addClass('taken');

        };

        }
    });

});

请参阅此内容以获取更多参考: $(this) inside of AJAX success not working

Ajax jquery success scope

答案 1 :(得分:-1)

而不是成功,请尝试使用.done()

例如

`
 $.ajax({
        url:'ajax/check-availability.php',
        context: this,
        data:{"slot":send},
        dataType:'json',
        type:'get'
    }).done(function(result) {
console.log(result);
            if (result.status === "taken") {
                $(this).addClass('taken');

            };
        });
`
相关问题