我有一个函数调用web服务的ajax请求。
ajax调用的结果是一个对象。
另外,当我点击按钮时,我需要返回对象的特定属性的值,即 responseJSON
我怎么能得到它?
这是我的ajax功能:
checkBtnPostulate: function () {
return $.ajax({
method: 'POST',
url: annonce.route.testpostulate,
data: {msg}
dataType: 'json',
success: function (data) {
//console.log(data);
if (data == 1) {
$("#postulate-btn").removeClass("btn-postuler");
$("#postulate-btn #postulerState").text("Retirer la candidature");
} else if (data == 0) {
$("#postulate-btn").addClass("btn-postuler");
$("#postulate-btn #postulerState").text("Postuler");
} else if (data == 2) {
$("#postulate-btn").hide();
}
},
error: function (data) {
console.log(data);
}
});
},
以下是点击按钮的功能,我使用之前功能的返回功能。
postulate: function () {
$('body').one().on('click', '#submitCandidature', function (e) {
window.annonce.checkBtnPostulate(); //MY PREVIOUS FUNCTION CALL
var response = window.annonce.checkBtnPostulate(); // the object returned
if (response.responseJSON == 1) { // i need to get here the value
var FormCandidature = $("#form-candidature");
var candidatureObject = serializeObject(FormCandidature);
candidatureObject["id_mission"] = id_annonce;
var candidatureObject = JSON.stringify(candidatureObject);
window.sendData.start(FormCandidature, candidatureObject, "#modal-postuler");
}
})
}
});
},
我怎么能以最简单的方式得到它?
答案 0 :(得分:0)
从我理解你的问题的方式我会认为在你的ajax调用中使用回调将是实现你正在寻找的东西的最佳方式以下是你的代码看起来像使用回调:
checkBtnPostulate: function (callback) {
return $.ajax({
method: 'POST',
url: annonce.route.testpostulate,
data: {msg}
dataType: 'json',
success: function (data) {
callback(data);
},
error: function (data) {
console.log(data);
}
});
},
postulate: function () {
$('body').one().on('click', '#submitCandidature', function (e) {
window.annonce.checkBtnPostulate(function(data){
//Confused with what you want but if you have an object off of data you might do something like this
if(data.responseJSON == 1){
var FormCandidature = $("#form-candidature");
var candidatureObject = serializeObject(FormCandidature);
candidatureObject["id_mission"] = id_annonce;
var candidatureObject = JSON.stringify(candidatureObject);
window.sendData.start(FormCandidature, candidatureObject, "#modal-postuler");
}
if (data == 1) {
$("#postulate-btn").removeClass("btn-postuler");
$("#postulate-btn #postulerState").text("Retirer la candidature");
} else if (data == 0) {
$("#postulate-btn").addClass("btn-postuler");
$("#postulate-btn #postulerState").text("Postuler");
} else if (data == 2) {
$("#postulate-btn").hide();
}
});
if (response.responseJSON == 1) { // i need to get here the value
var FormCandidature = $("#form-candidature");
var candidatureObject = serializeObject(FormCandidature);
candidatureObject["id_mission"] = id_annonce;
var candidatureObject = JSON.stringify(candidatureObject);
window.sendData.start(FormCandidature, candidatureObject, "#modal-postuler");
}
})
}
});
},
这样做可以让您在点击事件中直接访问ajax调用中的数据。
答案 1 :(得分:0)
data[ix].attribute
离;
data[0].name
如果JSON中有多个对象,您可能想要遍历每个对象?
汤姆