請(qǐng)教:ajax提交數(shù)據(jù)為什么傳不到控制器呢?
問(wèn)題描述
我在學(xué)習(xí)Peter.zhu老師的《最新ThinkPHP 5.1全球首發(fā)視頻教程(60天成就PHP大牛線上**班課)》的時(shí)
候,其中第“10-3用戶(hù)注冊(cè)功能的初步實(shí)現(xiàn)”節(jié),為什么我的ajax提交數(shù)據(jù)不能傳到控制器呢?
register.html代碼為:
{include file="public:header" /}
{include file="public:nav" /}
<div class="row">
<div class="col-md-8">
<div class="page-header">
<h2>用戶(hù)注冊(cè)</h2>
</div>
<form class="form-horizontal" method="post" id="login" >
<div class="form-group">
<label for="inputEmail1" class="col-sm-2 control-label">用戶(hù)名:</label>
<div class="col-sm-10">
<input type="text" name="name" class="form-control" id="inputEmail1"
placeholder="UserName">
</div>
</div>
<div class="form-group">
<label for="inputEmail2" class="col-sm-2 control-label">郵箱:</label>
<div class="col-sm-10">
<input type="text" name="email" class="form-control" id="inputEmail2"
placeholder="Email">
</div>
</div>
<div class="form-group">
<label for="inputEmail3" class="col-sm-2 control-label">手機(jī)號(hào):</label>
<div class="col-sm-10">
<input type="text" name="mobile" class="form-control" id="inputEmail3"
placeholder="MobileNumber">
</div>
</div>
<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="Password">
</div>
</div>
<div class="form-group">
<label for="inputEmail5" class="col-sm-2 control-label">確認(rèn)密碼:</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="submit" class="btn btn-primary" id="register">注冊(cè)</button>
</div>
</div>
</form>
</div>
<script type="text/javascript">
$(function(){
$('#register').on('click',function(){
//用ajax提交用戶(hù)信息
$.ajax({
type: 'post',
url: "{:url('insert')}",
data: $('#login').serialize(),
dataType: 'json',
success: function(data){
switch (data.status)
{
case 1:
alert(data.message);
window.location.href = "{:url('index/index')}";
break;
case 0:
case -1:
alert(data.message);
window.location.back();
break;
}
}
})
})
})
</script>
{include file="public:right" /}
{include file="public:footer" /}
控制器index/User的代碼為:
<?php
namespace appindexcontroller;
use appcommoncontrollerBase;
use thinkfacadeRequest;
use appcommonmodelUser as UserModel;
class User extends Base
{
// 注冊(cè)頁(yè)面
public function register()
{
$this->assign('title','用戶(hù)注冊(cè)');
return $this->fetch();
}
public function index()
{
echo 'dfdssfsdf';
}
//處理用戶(hù)提交的用戶(hù)信息
public function insert()
{
echo "<script type='text/javascript'>alert('insert被執(zhí)行');</script>";
// echo "dfsdfsdf";
if(Request::isAjax()){
// 驗(yàn)證數(shù)據(jù)
// $this->error("請(qǐng)求類(lèi)型錯(cuò)誤",'register');
$data = Request::post();//得到要驗(yàn)證的數(shù)據(jù)
$rule = 'appcommonvalidateUser';//自定義的驗(yàn)證規(guī)則
//開(kāi)始驗(yàn)證
$res=$this->validate($data,$rule);
if (true!==$res){//false
return ['status'=> -1,'message'=>$res];
}else {
if(UserModel::create($data))
{
return ['status'=>1,'message'=>'恭喜,注冊(cè)成功'];
}
else
{
return ['status'=>0,'message'=>'注冊(cè)失敗,請(qǐng)檢查'];
}
}//true
// 使用模型來(lái)創(chuàng)建數(shù)據(jù)
// 獲取用戶(hù)通過(guò)表單提交過(guò)來(lái)的數(shù)據(jù)
// $data=Request::except('password_confirm','post');
// $this->success($data,'index/index/index');
}
else
{
$this->error("請(qǐng)求類(lèi)型錯(cuò)誤",'index');
}
}
}
現(xiàn)象為在注冊(cè)頁(yè)面點(diǎn)擊“注冊(cè)”按鈕后,頁(yè)面刷新后仍為注冊(cè)頁(yè)面,沒(méi)有任何錯(cuò)誤提示,這是為什么呢
,一個(gè)星期也沒(méi)找到問(wèn)題,謝謝各位老師解答!!!
問(wèn)題解答
回答1:data為什么是login不應(yīng)該是form表單嗎
回答2:好長(zhǎng)相關(guān)文章:
1. docker不顯示端口映射呢?2. docker-compose 為何找不到配置文件?3. docker內(nèi)創(chuàng)建jenkins訪問(wèn)另一個(gè)容器下的服務(wù)器問(wèn)題4. css3 - viewport和@media的區(qū)別是什么5. javascript - 請(qǐng)教移動(dòng)端從詳情頁(yè)返回到列表頁(yè)原來(lái)位置的問(wèn)題?6. 如何解決Centos下Docker服務(wù)啟動(dòng)無(wú)響應(yīng),且輸入docker命令無(wú)響應(yīng)?7. 我在centos容器里安裝docker,也就是在容器里安裝容器,報(bào)錯(cuò)了?8. javascript - 微信網(wǎng)頁(yè)開(kāi)發(fā)從菜單進(jìn)入頁(yè)面后,按返回鍵沒(méi)有關(guān)閉瀏覽器而是刷新當(dāng)前頁(yè)面,求解決?9. 老師您的微信號(hào)是多少?10. css3 - css做動(dòng)畫(huà)效果
