Maison  >  Article  >  interface Web  >  Comment résoudre l'erreur « Jeton inattendu Colon JSON après jQuery.ajax#get » ?

Comment résoudre l'erreur « Jeton inattendu Colon JSON après jQuery.ajax#get » ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-19 22:54:29247parcourir

How to Resolve

Dépannage « Jeton inattendu de deux points JSON après jQuery.ajax#get »

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn