Rumah >hujung hadapan web >uni-app >Bagaimana untuk mendapatkan data permintaan json dalam uniapp

Bagaimana untuk mendapatkan data permintaan json dalam uniapp

PHPz
PHPzasal
2023-04-18 14:10:034827semak imbas

Uniapp ialah alat untuk membangunkan aplikasi merentas platform Ia menyokong pembangunan serentak berbilang platform seperti program mini, H5 dan APP. Apabila membuat permintaan rangkaian, kami biasanya perlu mendapatkan data JSON yang dikembalikan oleh permintaan Artikel ini akan memperkenalkan cara Uniapp mendapatkan data JSON yang diminta.

1. Hantar permintaan rangkaian

Pertama sekali, terdapat banyak cara untuk menghantar permintaan rangkaian dalam Uniapp, seperti menggunakan kaedah uni.request untuk menghantar permintaan. Berikut ialah contoh:

uni.request({
  url: 'https://api.example.com/user',
  method: 'POST',
  data: {
    username: 'test',
    password: '123456'
  },
  success: function(res) {
    console.log(res);
  },
  fail: function(err) {
    console.log(err);
  }
})

Dalam contoh di atas, kami menghantar permintaan POST ke 'https://api.example.com/user', dan data yang diminta ialah medan nama pengguna dan kata laluan objek. Selepas penghantaran berjaya, jika pelayan mengembalikan data JSON, kami boleh mendapatkan data JSON dalam fungsi panggil balik kejayaan.

2. Menghuraikan data JSON

Secara umumnya, kami boleh terus menggunakan res.data untuk mendapatkan data JSON. Tetapi jika pelayan mengembalikan data JSON yang tidak sah, atau mengembalikan data yang tidak dalam format JSON, kaedah ini akan gagal. Oleh itu, selepas mendapatkan data JSON, kami perlu menghuraikannya dan menentukan sama ada ia sah.

Uniapp menyediakan kaedah JSON.parse(), yang boleh menghuraikan rentetan JSON ke dalam objek JavaScript. Kita boleh menggunakan kaedah ini dalam fungsi panggil balik kejayaan untuk menghuraikan data JSON. Berikut ialah contoh:

uni.request({
  url: 'https://api.example.com/user',
  method: 'POST',
  data: {
    username: 'test',
    password: '123456'
  },
  success: function(res) {
    try {
      var data = JSON.parse(res.data);
      console.log(data);
    } catch (e) {
      console.log('返回的不是合法的JSON数据');
    }
  },
  fail: function(err) {
    console.log(err);
  }
})

Dalam contoh di atas, kami menggunakan kaedah JSON.parse() untuk menghuraikan res.data dan mengeluarkan data yang dihuraikan ke konsol.

3. Dapatkan medan JSON

Kami boleh mendapatkan medan dalam data JSON melalui objek JavaScript yang dihuraikan, seperti:

uni.request({
  url: 'https://api.example.com/user',
  method: 'POST',
  data: {
    username: 'test',
    password: '123456'
  },
  success: function(res) {
    try {
      var data = JSON.parse(res.data);
      console.log(data.username);
      console.log(data.password);
    } catch (e) {
      console.log('返回的不是合法的JSON数据');
    }
  },
  fail: function(err) {
    console.log(err);
  }
})

Dalam contoh di atas, kami get Alih keluar medan nama pengguna dan kata laluan dalam data JSON dan keluarkannya ke konsol.

4. Gunakan async/wait

Tiga langkah di atas dilakukan dalam fungsi panggil balik kejayaan Jika kita mempunyai operasi sedemikian dalam berbilang permintaan, kod tersebut akan menjadi agak panjang. Oleh itu, kita boleh menggunakan async/wait untuk memudahkan kod. Berikut ialah contoh:

async function getUser() {
  try {
    const res = await uni.request({
      url: 'https://api.example.com/user',
      method: 'GET'
    });
    const data = JSON.parse(res.data);
    console.log(data);
  } catch (e) {
    console.log(e);
  }
}
getUser();

Dalam contoh di atas, kami mentakrifkan fungsi async getUser() dan menggunakan kata kunci await untuk menunggu permintaan uni.request() dilengkapkan untuk mendapatkan data JSON . Jika pengambilan data JSON gagal, pengecualian akan dilemparkan. Menggunakan async/wait boleh menjadikan kod lebih ringkas dan boleh dibaca.

Ringkasan

Artikel ini memperkenalkan cara Uniapp mendapatkan data JSON permintaan, termasuk menghantar permintaan rangkaian, menghuraikan data JSON, mendapatkan medan JSON dan menggunakan async/menunggu. Apabila membangunkan aplikasi Uniapp, gunakan petua ini untuk menjadikan kod anda lebih elegan dan ringkas.

Atas ialah kandungan terperinci Bagaimana untuk mendapatkan data permintaan json dalam uniapp. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn