Maison > Questions et réponses > le corps du texte
Comment la méthode $.get() de Jquery peut-elle apporter des cookies lors de l'envoi d'une requête ?
伊谢尔伦2017-06-15 09:24:34
Tout d’abord, la méthode get et la méthode post de jquery sont toutes deux des encapsulations d’ajax, voir le code source
jQuery.each( [ "get", "post" ], function( i, method ) {
jQuery[ method ] = function( url, data, callback, type ) {
// Shift arguments if data argument was omitted
if ( jQuery.isFunction( data ) ) {
type = type || callback;
callback = data;
data = undefined;
}
// The url can be an options object (which then must have .url)
return jQuery.ajax( jQuery.extend( {
url: url,
type: method,
dataType: type,
data: data,
success: callback
}, jQuery.isPlainObject( url ) && url ) );
};
} );`
Alors, comment puis-je apporter des cookies lors de l'envoi d'une demande ?
Lorsque la méthode ajax envoie une requête, elle apportera automatiquement le cookie du nom de domaine auquel vous êtes connecté et vous n'avez pas besoin de le définir.
Ainsi, la méthode $.get() de Jquery apportera toujours des cookies
typecho2017-06-15 09:24:34
Lors de son utilisation, le client apportera automatiquement le cookie et jquery a été encapsulé. Si vous souhaitez personnaliser le cookie vous-même, vous pouvez utiliser le plug-in $.cookie pour définir le cookie client et enfin l'obtenir.
Pour le débogage, vous pouvez ouvrir la console F12 et visualiser les informations dans l'en-tête de la requête sur le réseau
巴扎黑2017-06-15 09:24:34
Premier dans la consoleApplication
里面的cookies
选项里面找找,cookies
设置get
成功了没。如果有设置好,客户端在同一域名下,会自动在每个页面带上cookie
.
学习ing2017-06-15 09:24:34
Lors de l'envoi d'une requête, le navigateur transportera automatiquement le cookie et le transmettra en arrière-plan. Seuls les paramètres localStorage/sessionStorage doivent être transmis de manière asynchrone en tant que paramètres
.为情所困2017-06-15 09:24:34
**$.support.cors = true;**
$.ajax({
url: urls.getDetailList,
type: "get",
dataType: "json",
**xhrFields: { withCredentials: true },**
success: function(res) {}
})
Vous ne devriez pas activer le cross-domain $.support.cors. Ajoutez simplement le code de fin avecCredentials. De plus, le backend doit également être configuré avec cross-domain.