JSスクリプトの冒頭で、私はさまざまな機能でページをすべて使用する必要があるPHPファイルからいくつかのグローバル変数を割り当てる必要があります。jquery ajaxデータを取得してグローバル変数に設定
HTML私は非同期を使用する必要が上記の方法については
<button onclick="somename()"> CALL FUNCTION </button></div>
JS
var a,
b;
$.ajax({
type: "POST",
url: "test.php",
data: {getvar: "getvar"},
success: function(data) {
a = data["a"];
b = data["b"];
},
dataType: "json",
async: false
});
console.log(a);
$(document).ready(function() {
console.log(a);
console.log(b);
});
function somename() {
console.log(a);
}
::偽が、このすでに非推奨とされていない良い解決策理由だから、最初に私はこのようでしたブラウザはフリーズすることができますが、必要に応じて動作します。 )少なくとも機能somenameの(、
$.post(
"test.php",
{getvar: "getvar"},
function(data) {
funget(data);
},
"json"
);
function funget(param) {
$(document).ready(function() {
console.log(param["a"]);
console.log(param["b"]);
});
function somename() {
console.log(param["a"]);
}
}
が、1つの関数で全体のjsスクリプトが同様に良い解決策ではないようです持ついくつか存在することができ動作しません。そこで、私はこのように変更しましたその他の問題。だから、必要に応じて機能し、ソリューションを保存するためには何をすべきか?
私の例を参照するとどうなりますか? 'function somename()'を除いて '$(document).ajaxComplete(function(){});の中にすべてを入れますか?これは '$(document).ready(function(){});の中のjq関数のために保存されますか? – soonic
本当にあなたがしようとしていることに依存します。ページの一部をすぐに表示し、完了したら残りのページを表示し、関数を呼び出してデータを入力することができます。 ajaxComplete()の内部でajax呼び出しが完了することなく中断するものはすべて入れてください。 –
スクリプト内の他のajax呼び出しについては、このajaxCompleteがこの例でのみ参照する必要があることを区別する方法は? – soonic