私はこのコードに問題があります。 これが起こります: console.logからコードを起動します。私が更新ボタン機能を押した場合、nullが返されます。変数にajaxの結果を入力する関数
なぜこのようなことが起こりますか? どうすれば修正できますか?
var urljson = "data_json.php";
var data = null;
var jqXHR = $.ajax
({
type: "GET",
url: urljson,
dataType: 'json',
success: successHandler
});
function successHandler(result) {
data = result;
}
function update(){
var jqXHR = $.ajax
({
type: "GET",
url: urljson,
dataType: 'json',
success: successHandler
});
function successHandler(result) {
data = result;
}
}
$(document).ready(function(){
console.log(data) //// null
});
document.getElementById('update').addEventListener('click', function() {
update();
console.log(data) //// Array [ Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, other 3213… ]
});
、JSONはまだサーバから返されていないので、データはまだnullです。 JSONファイルが到着し、succesHandlerがトリガーされたときにのみ、そのデータが設定されます。 – Shilly