【发布时间】:2016-05-08 04:41:47
【问题描述】:
我在登录页面的点击事件上调用 jquery 函数。从那里我调用 $ajax 函数。这个 $ajax 函数应该调用控制器并处理函数并返回响应。我已经使用 routes.php 连接了它。在运行应用程序时,我收到“未找到请求的页面 404 错误”的错误。我认为路由有问题。有人帮我解决这个问题。提前致谢。
routes.php如下
Route::post('signin', 'LoginController@signin');
点击事件的jQuery函数在login_register.js文件中
$("#form-login").on("submit",function(e){
e.preventDefault();
var log_password = "";
var log_name = $("#log_username").val();
var password = $("#log_password").val();
if(password.trim() !== "")
{
log_password = md5(password);
}
$(".loginmessage").html('');
$(".login").attr("disabled",true);
$("#spin_signin").addClass('show');
var req = new Request();
req.data =
{
"email":log_name,
"userpassword":log_password
};
req.url = "signin";
RequestHandler(req,processlogin);
});
ajax 调用在 jquery.ajax.js 文件中。我已将类型指定为 POST,将数据类型指定为 JSON
function RequestHandler(request,response,resdata){
$=jQuery.noConflict();
var domain = "http://localhost/laravel_login/public/";
var tempurl = domain+request.url;
if(request.isfulluri){
tempurl = request.url;
}
$.ajax({
type: request.type,
url: tempurl,
data: request.data,
datatype:request.datatype,
success: function(data){
if(resdata != null && resdata != '')
response(data,resdata);
else
response(data);
},
error: function(err){
if(err.responseText == null || err.responseText == ""){
alert("Error: Check your internet connection");
}
else{
alert("Error:"+err.responseText);
}
}
});
我的控制器类(LoginController.php)包含
public function signin(){
$response = array();
$useremail = $this->input->post('email');
$userpassword = $this->input->post('userpassword');
if($useremail == '' || $userpassword == ''){
$response['iserror'] = TRUE;
$response['message'] = 'Please fill all the fields';
echo json_encode($response);
return;
}
else{
$result = $this->UserAuthenticate->loginUser($useremail,$userpassword);
echo json_encode($result);
return;
}
}
【问题讨论】: