Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Menyelesaikan Ralat \'Kolon Token Tidak Dijangka JSON selepas jQuery.ajax#get\'?

Bagaimana untuk Menyelesaikan Ralat \'Kolon Token Tidak Dijangka JSON selepas jQuery.ajax#get\'?

Linda Hamilton
Lepaskan: 2024-10-19 22:52:02
asal
633 orang telah melayarinya

How to Resolve the

'JSON Kolon Token Tidak Dijangka selepas jQuery.ajax#get': Panduan Komprehensif

Pengenalan

Isu ini timbul apabila cuba membuat permintaan AJAX menggunakan jQuery dan menerima data daripada pelayan yang mengembalikan JSON dalam format yang tidak serasi dengan konfigurasi permintaan. Ini boleh mengecewakan, tetapi memahami punca dan menggunakan penyelesaian yang sesuai boleh menyelesaikannya.

Punca Punca

Ralat "JSON kolon token tidak dijangka selepas jQuery. ajax#get" berlaku apabila pelayan mengembalikan data JSON tanpa padding yang betul atau parameter rentetan pertanyaan panggil balik. JSONP (JSON dengan Padding) ialah teknik yang digunakan semasa membuat permintaan silang asal, di mana pelayan membungkus data JSON dalam panggilan fungsi untuk mengelakkan sekatan keselamatan penyemak imbas. Walau bagaimanapun, jika pelayan gagal memasukkan parameter padding atau panggil balik, penyemak imbas akan mentafsirkan respons sebagai JSON tidak sah.

Penyelesaian

Untuk menyelesaikan isu ini, anda perlu memastikan pelayan menjana respons JSONP dengan betul. Ini bermakna membungkus data JSON di dalam panggilan fungsi dan memastikan kemasukan parameter panggil balik dalam rentetan pertanyaan.

Dalam Node.js Express

Dalam Node.js Ekspres, anda boleh menggunakan kaedah res.jsonp() untuk menjana respons JSONP:

app.get('/', (req, res) => {
  res.jsonp({
    Name: 'Tom',
    Description: 'Hello it's me!'
  });
});
Salin selepas log masuk

Sebagai alternatif, anda boleh menambah parameter padding dan panggil balik secara manual:

const callback = req.query.callback;
const data = JSON.stringify({
  Name: 'Tom',
  Description: 'Hello it's me!'
});

if (callback) {
  res.setHeader('Content-Type', 'text/javascript');
  res.end(`${callback}(${data})`);
} else {
  res.setHeader('Content-Type', 'application/json');
  res.end(data);
}
Salin selepas log masuk

Dalam jQuery

Di sisi pelanggan, anda boleh mengkonfigurasi permintaan AJAX anda untuk menggunakan JSONP dengan menyatakan pilihan dataType: 'jsonp':

$.ajax({
  url: findUrl,
  type: 'get',
  dataType: 'jsonp',
  success: (data) => {
    // ...
  },
  error: (jqXHR, textStatus, errorThrown) => {
    // ...
  }
});
Salin selepas log masuk

Kesimpulan

Dengan memastikan pelayan menjana respons JSONP dengan betul dan pelanggan mengkonfigurasi permintaan AJAXnya dengan sewajarnya, anda boleh mengelakkan ralat "JSON kolon token tidak dijangka selepas jQuery.ajax#get" dan berjaya mendapatkan data JSON daripada pelayan anda .

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat \'Kolon Token Tidak Dijangka JSON selepas jQuery.ajax#get\'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan