2014-05-15 3 views
0
function facebookAuth() { 
    $.ajax({ 
     url: 'index.php?r=account/fbauthorize', 
     type: 'GET' 
    }); 
} 

c'est une fonction simple que j'ai écrit juste pour invoquer la fonction dans le contrôleur, le type GET fonctionne très bien, mais pas le POST. donnez-moi cette erreur "Bad Request (# 400): Impossible de vérifier votre soumission de données."ajax demande d'un fichier js à yii2 fonction contrôleur

C'est quelque chose à voir avec la validation CSRF dans yii2, mais je ne peux pas le résoudre.

+0

Voir http://stackoverflow.com/questions/18597894/yii-ajax-request-csrf-can-not-be-verified~~V~~3rd –

Répondre

4

Il y a deux étapes importantes:

1) Enregistrez votre fichier js comme suit:

$this->registerJsFile(Yii::$app->homeUrl . 'js/test.js', [JqueryAsset::className()]); 

2) Dans demande ajax vous devez poster valeur suivante ainsi que des données:

yii.getCsrfParam(): yii.getCsrfToken() 

CSRF est une fonction de sécurité qui peut être désactivé dans le contrôleur, mais ce n'est pas recommandé.

+0

Salut, désolé pour la réponse tardive, je ne sais pas où enregistrer mon fichier. dans quel dossier je veux dire. – tareq

+0

vous devez rejeter js sur votre fichier de vue et le chemin js/test.js a le chemin complet comme webroot/yourproject/frontend/web/js/test.js dans le templet d'avance. Dites-moi si vous ne comprenez pas – Kshitiz

+0

merci l'homme je l'ai eu travailler depuis hier, vous étiez d'une grande aide, merci. – tareq

0

ajouter cette ligne deux à votre code

contentType: "application/json; charset=utf-8", 
dataType: "json", 

ce sera

$.ajax({ 
    url: 'index.php?r=account/fbauthorize', 
    type: 'GET', 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
}); 


Enjoy :)

+0

cela ne fonctionne pas. et pls pourriez-vous élaborer ce que cela supposé faire? aussi j'ai dit que le type GET fonctionne bien, c'est le type POST avec lequel j'ai des problèmes! – tareq

+0

lire ceci http://stackoverflow.com/questions/4156991/jquery-ajax-returns-400-bad-request – Anri

Questions connexes