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!