你能在javascript中调用laravel路由吗?
我正在尝试用jquery验证插件实现一个前端验证。我之所以进行前端验证,而不是使用laravel提供的验证函数,是因为我的登录表单使用的是bootstrap模式,我不希望用户在单击"submit“按钮后关闭表单。
目前我正在做这样的事情:
$("#modal-form-login").validate({
errorClass: "error",
errorPlacement: function(error, element) {
error.insertAfter(element.parent("div"));
},
rules: {
email: {
required: true,
email: true
},
password: {
required: true,
minlength: 4
}
},
messages: {
email: {
required: "メールアドレスが必要です",
email: "有効なメールアドレスを入力してください"
},
password: {
required: "パスワードが必要です",
minlength: jQuery.format("少なくとも {0} 文字")
}
},
submitHandler: function(form) {
$.ajax("http://mywebsite.com/login",{
dataType: 'json',
data: $('#modal-form-login').serialize(),
success: function(response) {
console.log("ok!");
}
});
}
});
我知道验证后的处理应该在submithandler中,我想调用我的doLogin路由(可以通过刀片中的{{ URL: to("doLogin") }}
到达),但是我能用javascript实现这一点吗?
发布于 2014-03-06 16:03:03
你不想在你的javascript中调用php。要实现这一点,您的javascript文件必须由php提供服务。你的JS和CSS文件应该是静态的,不应该由php提供。因此,您应该问的问题是“如何向javascript注入值?”我喜欢把urls从dom中提取出来。
我将我的登录表单设置为如下所示:
<form id="modal-form-login" method="post" action="{{ URL::to("doLogin") }}">
然后,我会更新我的提交处理程序,如下所示:
submitHandler: function(form) {
$.ajax($('#modal-form-login').attr('action'), {
dataType: 'json',
data: $('#modal-form-login').serialize(),
success: function(response) {
console.log("ok!");
}
});
}
正如你在这里看到的,我从表单的动作中拉出了url。
https://stackoverflow.com/questions/22218324
复制相似问题