如何在成功回调函数中获取$ .ajax()请求参数?

时间:2017-02-14 05:49:56

标签: javascript jquery ajax

我想在成功回调函数中获取ajax数据参数

像波纹管一样

$.ajax({
     url: 'example.com/something',
     method: 'GET',
     data: { 'sample':'test' }, // => I want this data in success function.
     success: function(response, textStatus, jqXHR){
          // want get data parameter
          // {'sample':'test'}

          // someone answered that could get below code but I couldn't get it 
          // console.log(this.data);  => X 
     }
});

6 个答案:

答案 0 :(得分:1)

应该只能在成功处理程序中键入data.sample来获取值。或者,您可以执行data['sample'],但该语法确实存在更多,允许您将属性名称存储在变量中以从对象中检索数据。

答案 1 :(得分:1)

method更改为typeconsole.log(data),以查看传递给回调函数的data内容。

另外,在通话中添加dataType: 'json'

$.ajax({
     url: 'example.com/something',
     type: 'GET',
     dataType: 'json',
     data: { 'sample':'test' },
     success: function(data, textStatus, jqXHR){
          console.log(data);  // will display the content of data 
     },
     error: function(a,b,c) {
          console.log('something went wrong:',a,b,c);
     }
});

答案 2 :(得分:0)

在您的情况下,您需要使用this.data而不是data.sample来访问值" test"。

尝试查看JSON对象,因为通常将返回AJAX请求。您将使用"点符号" JS中有很多。

答案 3 :(得分:0)

您的后端代码是什么? java c #php?如果c#和mvc控制器,你可以定义一个动作,行动中的pramater将是你ajax传递

答案 4 :(得分:0)

    // want get data parameter
    // {'sample':'test'}

data作为属性传递到jqxhr的{​​{1}}对象,在beforeSend获取对象。

success

答案 5 :(得分:0)

其他解决方案,您可以直接将数据放入变量:

var dataObj = { 
  sample:'test' 
}; // => I want this data in success function.

$.ajax({
 url: 'example.com/something',
 method: 'GET',
 data: dataObj,
 success: function(response, textStatus, jqXHR){
      // then just console.log(dataObj.sample)
 }
});