同时使用"数据"和#34;回应" ajax调用中的属性

时间:2014-08-13 16:12:05

标签: javascript ajax

我正在尝试在以下complete函数中使用php响应和ajax数据。那可能吗?我可以只使用function(response)function(data)做一些事情,但希望两者都可用。

function fxn() {
    $.ajax({
        url:'script.php',
        type: 'POST',
        data: { foo: document.getElementById('elementID').value },
        complete: function(response, data) { //doesn't work
            if(response.responseText == data.foo) {
                //do stuff
            }
        },
        error: function() {
            //handle
        },
    });
    return false;
}

1 个答案:

答案 0 :(得分:2)

数据只是$.ajax所需的JSON属性之一,它不是变量。

您可以在ajax调用之外定义变量,然后将其传递给ajax方法。 如果您这样做,您将可以稍后阅读。 :)

 function fxn() {

    var dataToSend= { foo: document.getElementById('elementID').value }

    $.ajax({
        url:'script.php',
        type: 'POST',
        data: dataToSend,
        complete: function(response) { //doesn't work
            if(response.responseText == dataToSend.foo) {
                //do stuff
            }
        },
        error: function() {
            //handle
        },
    });
    return false;
}