Quand j'étudiais le "Dernier didacticiel vidéo ThinkPHP 5.1 World Premiere (60 jours pour devenir un maître PHP en ligne ** Classe)" de Peter.zhu, la section "Fonction d'enregistrement des utilisateurs 10-3" "Implémentation préliminaire", pourquoi peut-on Mes données de soumission ajax ne sont-elles pas transmises au contrôleur ? Le code
register.html est :
{include file="public:header" /}
{include file="public:nav" /}
<div class="row">
<div class="col-md-8">
<div class="page-header">
<h2>Inscription utilisateur</h2>
<form class="form - horizontal" method="post" id="login" >
<div class="form-group">
<label for="inputEmail1" class="col- sm -2 control-label">Nom d'utilisateur : </label>
<input type="text" name =" name" class="form-control" id="inputEmail1"
placeholder="UserName">
</div>
</div>
placeholder="Email">
<div class="form-group">
<label for="inputEmail4" class="col-sm-2 control-label"> ;密码:</label>
<div class="col-sm-10">
<input type="password" name="password" class="form- control" id="inputEmail4"
placeholder="Mot de passe">
</div>
</div>
<div class="form-group">
<label for="inputEmail5" class="col-sm-2 control-label">确认密码:</label>
<div class="col-sm-10">
<input type="password" name="password_confirm" class="form- control" id="inputEmail5"
placeholder="Password Confrim">
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type=" soumettre" class="btn btn-primary" id="register">注册</button>
</div>
</div>
< ; /form>
</div>
<script type="text/javascript">
$(function(){
$('#register').on( 'cliquez',function(){
//用ajax提交用户信息
$.ajax({
tapez 'post',
url : "{ :url('insert')}",
data: $('#login').serialize(),
dataType: 'json',
success: function(data ){
switch (data.status)
{
cas 1 :
alert(data.message);
window.location.href = "{:url('index/index')}";
break;
cas 0 :
cas -1 :
alert(data.message);
window.location.back();
pause;
}
}
})
})
})
</script>
{include file="public:right" /}
{include file="public:footer" /}
控制器index/User的代码为:
<?php
namespace appindexcontroller;
utilisez appcommoncontrollerBase ;
utilisez thinkfacadeRequest ;
utilisez appcommonmodelUser comme UserModel ;
class L'utilisateur étend Base
{
// 注册页面
registre de fonction publique()
{
$this->assign('title','用户注册');
return $this->fetch();
}
public function index()
{
echo 'dfdssfsdf';
}
//处理用户提交的用户信息
public function insert()
{
echo "<script type='text/javascript'>alert('l'insertion a été exécutée');</script>";
// echo "dfsdfsdf";
if( Request::isAjax()){
// Données de vérification
// $this->error("Erreur de type de demande",'register');
$data = Request::post();//Obtenir les données à vérifier
$rule = 'appcommonvalidateUser';//Règles de vérification personnalisées
//Démarrer la vérification
$res= $ this->validate($data,$rule);
if (true!==$res){ //false
return ['status'=> = & gt; $ res];
} autre {
IF (modèle utilisateur :: créer ($ données)) {
retour [' STATUT '= & GT ;1,' message'=>'Félicitations, inscription réussie']; >'L'inscription a échoué, veuillez vérifier'];
}
}//true
// Utiliser le modèle pour créer des données
// Obtenir les données soumises par les utilisateurs via le formulaire
// $data=Request::sauf('password_confirm','post');
// $this->success($data,'index /index/index ') ;
}
}
}
Le phénomène est qu'après avoir cliqué sur le bouton "S'inscrire" sur la page d'inscription, la page est toujours la page d'inscription après actualisation sans aucun message d'erreur. Pourquoi est-ce.
, je n'ai trouvé aucune question depuis une semaine, merci aux professeurs pour vos réponses ! ! !
Pourquoi les données sont une connexion et ne devraient-elles pas être un formulaire ?
Si longtemps