Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Menyelesaikan Ralat \'Token Colon JSON yang tidak dijangka selepas jQuery.ajax#get\'?

Bagaimana untuk Menyelesaikan Ralat \'Token Colon JSON yang tidak dijangka selepas jQuery.ajax#get\'?

Linda Hamilton
Linda Hamiltonasal
2024-10-19 22:54:29394semak imbas

How to Resolve

Menyelesaikan masalah "JSON Kolon Token Tidak Dijangka selepas jQuery.ajax#get"

Apabila membuat permintaan AJAX dan menerima data JSON, pengguna mungkin menghadapi ralat "Kolon token tidak dijangka JSON selepas jQuery.ajax#get." Ralat ini berlaku kerana kekurangan sokongan untuk permintaan JSONP pada pelayan.

Untuk menyelesaikan isu ini, pelayan mesti memasukkan "Padding" atau "P" dalam respons JSONP. Parameter padding ini membolehkan pelayan mengendalikan permintaan JSONP dan menghalang JavaScript daripada menghadapi ralat sintaks disebabkan kurungan yang tidak sepadan.

Contoh dengan jQuery:

Untuk mengendalikan permintaan JSONP dalam jQuery, kod sebelah pelayan boleh menggunakan:

var callback = req.query.callback;
var 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);
}

Sebagai alternatif, ExpressJS menyediakan kaedah res.jsonp() yang mudah yang mengendalikan permintaan JSONP secara automatik:

app.get( '/', function( req, res ) {
    console.log( 'req received' );

    res.jsonp({
        Name : "Tom",
        Description : "Hello it's me!"
    });
});

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat 'Token Colon JSON yang tidak dijangka selepas jQuery.ajax#get'?. 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