在成功函数内访问AJAX请求中的“数据”对象

时间:2016-06-14 17:08:24

标签: javascript jquery ajax

如何访问data请求中使用的$.ajax()对象?

$.ajax({
    url: "post.php",
    type:'POST',
    data:{
        el1: $('#el1').val(),
        ...
        el72: $('#el72').val()
    },
    success: function(res,status){
        //
    }
});

2 个答案:

答案 0 :(得分:4)

只要您没有绑定函数,使用箭头函数或使用上下文选项,就可以使用this从成功回调中访问传入$ .ajax的已处理选项。

console.log(this.data); // for POST
console.log(this.url); // for GET, but you'll have to parse out the url portion

你会注意到它现在是一个参数化字符串而不是一个对象,因为它是如何发送到服务器的。请参阅此处了解将其转换回对象的方法:Convert URL parameters to a JavaScript object

我只想使用变量。

答案 1 :(得分:1)

在调用ajax()之前创建一个变量。

var formData = {
    el1: $('#el1').val(),
    ...
    el72: $('#el72').val()
};

$.ajax({
    url: "post.php",
    type:'POST',
    data: formData,
    success: function(res,status){
        // do something with formData
    }
});