こんにちは、私はAJAXの応答を2つの変数xとyまたは配列に格納する必要があります。 私のAJAX応答は配列です。私はデータを見ることができますが、cheコールにアラートと一緒にだけです。 私はAjaxコールの外にデータが必要です。
var x;
var y;
$.ajax({
url: 'ajaxload.php',
dataType: "json",
success: function (data) {
x = data.posX;
y = data.posX;
alert(x + " " + y); // I can se data but I need outside ajax call
}
});
私の理解が正しければ、あなたはコード内でajaxレスポンスを後で再利用したいのでしょう。 なぜなら、デフォルトでは、javascriptエンジンはajaxリクエストのレスポンスを待たないからです。つまり、以下のコードは動作しません。
<script type="text/javascript">
$(document).ready(function(){
var x;
var y;
$.ajax({
url: 'ajaxload.php',
dataType: "json",
success: function(data) {
x= data.posX;
y= data.posX;
alert (x+" "+y); // I can se data but I need outside ajax call
}
});
alert(x+" "+y); // You won't see anything, because this data isn't yet populated. The reason for this is, the "success" function is called when the ajax request has finished (it has received a response).
})
</script>
Ajaxのレスポンスを待つ必要があります。jQueryでそれを行うには、コードを少し修正する必要があります。
<script type="text/javascript">
$(document).ready(function(){
var data = $.parseJSON($.ajax({
url: 'ajaxload.php',
dataType: "json",
async: false
}).responseText); // This will wait until you get a response from the ajax request.
// Now you can use data.posX, data.posY later in your code and it will work.
var x = data.posX;
var y = data.posY;
alert(x+" "+y);
alert(data.posX+" "+data.posY);
});
</script>