Lors des requêtes AJAX et de la réception de données JSON, les utilisateurs peuvent rencontrer l'erreur « Jeton inattendu de deux points JSON après jQuery.ajax#get." Cette erreur se produit en raison d'un manque de prise en charge des requêtes JSONP sur le serveur.
Pour résoudre ce problème, les serveurs doivent inclure le « Padding » ou le « P » dans la réponse JSONP. Ce paramètre de remplissage permet au serveur de gérer les requêtes JSONP et empêche JavaScript de rencontrer une erreur de syntaxe due à des crochets incompatibles.
Exemple avec jQuery :
Pour gérer les requêtes JSONP dans jQuery, le code côté serveur peut utiliser :
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); }
Alternativement, ExpressJS fournit une méthode res.jsonp() pratique qui gère automatiquement les requêtes JSONP :
app.get( '/', function( req, res ) { console.log( 'req received' ); res.jsonp({ Name : "Tom", Description : "Hello it's me!" }); });
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!