[英]How to Get $.ajax() request parameter at success callback function?
我想在成功回調函數中獲取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
}
});
應該能夠在成功處理程序中鍵入data.sample
以獲得值。 或者,您可以執行data['sample']
,但該語法確實存在更多,可讓您將屬性名稱存儲在變量中以從對象中檢索數據。
更改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);
}
});
在您的情況下,您需要使用data.sample
而不是this.data
來訪問值“ test”。
嘗試查看JSON對象,因為通常這將返回AJAX請求。 您將在JS中大量使用“點符號”。
你的后端代碼是什么? Java的C#的PHP? 如果使用c#和mvc控制器,則可以定義一個動作,該動作中的pramater將是ajax傳遞
// want get data parameter // {'sample':'test'}
通過data
作為屬性jqxhr
在對象beforeSend
,在獲得對象success
。
$.ajax({
url: 'example.com/something',
method: 'GET',
data: {
"sample": "test"
},
beforeSend: function(jqxhr, settings) {
jqxhr._data = settings.url.split("?").pop();
},
success: function(data, textStatus, jqXHR) {
// want get data parameter
// {'sample':'test'}
var _data = jqXHR._data.split("&").slice(0, 1).pop().split("=");
var obj = {}; obj[_data[0]] = _data[1];
console.log(_data, obj);
// var obj = {};
// someone answered that could get below code but I couldn't get it
// console.log(this.data); => X
}
})
其他解決方案,您可以將數據直接放入變量中:
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)
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.