我想在成功回调函数中获取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
}
});
答案 0 :(得分:1)
应该只能在成功处理程序中键入data.sample
来获取值。或者,您可以执行data['sample']
,但该语法确实存在更多,允许您将属性名称存储在变量中以从对象中检索数据。
答案 1 :(得分:1)
将method
更改为type
和console.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)
}
});