外部システムにPOSTで値を取得し、それを変数にいれて動くようプログラミングしたいんですが、これが上手く代入できなかったのです。
let getData;
$.ajax({
type: 'POST',
url: 'hogehoge.php',
data:{
'キー': 'postするデータ'
},
dataType : "json",
success: function(data) {
console.log(data); // log1
getData = data;
},
error: function() {
console.log("取得できず");
}
});
console.log(getData); // log2
結果は
log1 → データ返ってきた
log2 → undefined
代入できていない・・・
ajaxの中では代入できているのに、それを過ぎると何も入ってないことになっていました。
調べてみると、ちゃんとできるようで、ひと手間加える必要があるそう。
let getData;
$.ajax({
type: 'POST',
url: 'hogehoge.php',
async : false, // ←これを追加
data:{
'キー': 'postするデータ'
},
dataType : "json",
success: function(data) {
console.log(data); // log1
getData = data;
},
error: function() {
console.log("取得できず");
}
});
console.log(getData); // log2
するとlog2にもデータが代入されていました。
ajaxは今後も必要となりそうなので、このひと手間は忘れないようにしたい・・・