私は同様の質問を投稿しましたが、スタックのオーバーフローが早く死んでしまうので、私は答えを得られなかったようです。jqueryの成功から変数を渡す
時には私のコードに書かれていない限り、私はものを理解できません。人々は物事を本当にひどく説明する傾向があります。例:How do I return the response from an asynchronous call?
最初の答えで、彼はコードを再構成する方法を説明します。しかし、彼はステップを正しく説明していません。彼はコールバックが何であるか、結果が何であるか説明しません。彼はちょうどそこにそれらを投げる。私は彼がそれを行う方法について複数の例を挙げていると仮定していますが、彼は何を使うべきか説明していません。
次は私がもともと持っていた私のコードです:
var admin_data = false;
function getPlayerAdmin(admin_data){
var formData = {
'player_id' : $('#post-v').attr('data-val')
};
$.ajax({
type: 'post',
url: '/popins/player/controls',
data : formData,
dataType : 'json',
success: function(admin_data_vals, admin_data) {
if(admin_data_vals.controls.is_admin == true){
admin_data = true;
}else{
admin_data = false;
}
},
error : function(jqXHR, textStatus, errorThrown){
console.log(jqXHR);
}
});
}
getPlayerAdmin();
alert(admin_data);
を次は私が彼の...例に基づいて再構築しようとしたものです:
var admin_data = false;
var result = getPlayerAdmin();
getPlayerAdmin(function(result) {
if(admin_data_vals.controls.is_admin == true){
admin_data = true;
}else{
admin_data = false;
}
});
function getPlayerAdmin(callback){
var formData = {
'player_id' : $('#post-v').attr('data-val')
};
$.ajax({
type: 'post',
url: '/popins/player/controls',
data : formData,
dataType : 'json',
success: function(admin_data_vals, callback) {
},
error : function(jqXHR, textStatus, errorThrown){
console.log(jqXHR);
}
});
}
getPlayerAdmin();
alert(admin_data);
私が取得しようとしています私は別の関数でそれを使うことができるように、ここからの変数です。
私はとても混乱していますので、大歓迎です。
コールバック関数に 'alert(admin_data);'を置いてそこから使用したいとします。あなたの成功関数を変更する: '成功:関数(データ){コールバック(データ)} ' – nicovank
コールバック関数は何ですか? –
コールバック関数は、成功すると呼び出されるパラメータとして渡す関数です。 – nicovank