kzen.dev
  • Pertanyaan
  • Tag
  • Pengguna
Notifikasi
Imbalan
Registrasi
Setelah Anda mendaftar, Anda akan diberitahu tentang balasan dan komentar untuk pertanyaan Anda.
Gabung
Jika Anda sudah memiliki akun, masuk untuk memeriksa pemberitahuan baru.
Akan ada hadiah untuk pertanyaan, jawaban, dan komentar tambahan.
Lebih
Sumber
Sunting
 Micky
Micky
Question

Menyimpan larik respons ajax ke dalam variabel untuk digunakan di kemudian hari

Hai, saya perlu menyimpan Respons AJAX ke dalam dua variabel x dan y atau ke dalam sebuah array. Respons AJAX saya adalah sebuah array. Saya dapat melihat data tersebut namun hanya dengan dan alert ke dalam panggilan ajax. Saya membutuhkan data di luar pemanggilan 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
    }
});
4 2012-10-22T12:17:38+00:00 3
Alexander Yancharuk
Alexander Yancharuk
Pertanyaan edit 2 September 2013 в 11:01
Pemrograman
arrays
jquery
ajax
Pertanyaan ini memiliki :value jawaban dalam bahasa Inggris, untuk membacanya masuk ke akun Anda.
Solution / Answer
 tftd
tftd
22 Oktober 2012 в 12:41
2012-10-22T12:41:53+00:00
Lebih
Sumber
Sunting
#17525126

Jika saya mengerti dengan benar, Anda ingin menggunakan kembali respons ajax nanti di dalam kode Anda. Jika demikian, kode Anda saat ini tidak akan berfungsi karena secara default, mesin javascript tidak menunggu respons dari permintaan ajax. Dengan kata lain, kode di bawah ini tidak akan berfungsi:

<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>

Anda harus menunggu respons ajax. Untuk melakukannya dengan jQuery, Anda perlu sedikit memodifikasi kode Anda:

<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>
 tftd
tftd
Jawaban edit 1 Juli 2015 в 3:48
27
0
 Nevin
Nevin
22 Oktober 2012 в 12:25
2012-10-22T12:25:49+00:00
Lebih
Sumber
Sunting
#17525124

jika Anda mendeklarasikan variabel, Anda dapat mengakses nilai di luar ajax.

contoh:

<script type="text/javascript">
   var x = '';
   var y = '';

   function sendAjax()
   {
        // your ajax call
        x= data.posX;
        y= data.posX;  
   } 
   sendAjax();
</script>

jika ajax bekerja dengan baik, Anda dapat mengakses variabel x dan y secara global

0
0
Asad Saeeduddin
Asad Saeeduddin
22 Oktober 2012 в 12:27
2012-10-22T12:27:32+00:00
Lebih
Sumber
Sunting
#17525125

Jika Anda menjalankan kode ini di dalam document ready handler, variabel x dan y Anda tidak benar-benar global. Coba jendela.x=''; jendela.y='';

0
0
Related communities 1
jQuery Indonesia
jQuery Indonesia
371 pengguna
Learning jQuery & Solve Problem
Buka telegram
Tambahkan pertanyaan
Kategori
Semua
Teknologi
Budaya / Rekreasi
Kehidupan / Seni
Ilmu Pengetahuan
Profesional
Bisnis
Pengguna
Semua
Baru
Populer
1
Daniel Gogov
Terdaftar 6 hari yang lalu
2
工藤 芳則
Terdaftar 1 minggu yang lalu
3
Ирина Беляева
Terdaftar 2 minggu yang lalu
4
Darya Arsenyeva
Terdaftar 2 minggu yang lalu
5
anyta nuam-nuam (LapuSiK)
Terdaftar 2 minggu yang lalu
ID
JA
© kzen.dev 2023
Sumber
stackoverflow.com
di bawah lisensi cc by-sa 3.0 dengan atribusi