php - 验证电子邮件并将其发送到 Lumen 控制器
问题描述
我正在尝试使用流明控制器验证电子邮件。如果电子邮件输入正确,它应该弹出“有效”,但在当前状态下,即使输入了正确的电子邮件,它也总是“无效”。
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class NewsletterController extends Controller
{
public function subscribe(Request $request)
{
$email = $request->query('email');
echo $email;
function valid_email($email) {
return !!filter_var($email, FILTER_VALIDATE_EMAIL);
}
if( valid_email($email) ) {
return response()->json(["valid"]);
} else {
return response()->json(["invalid"]);
}
}
}
通过 jQuery 调用 AJAX
function msg() {
var email = document.getElementById("email").value;
console.log(email);
var email2 = $('input[type=email]').val();
console.log(email2);
event.preventDefault();
$.get("newsletter/subscribe?email + $('input[type=email]').val()", function(data, status){
console.log("data: " + data + "\nStatus: " + status);
})
.done(function() {
//console.log( "done" );
alert("DONE");
})
.fail(function() {
console.log( "error" );
alert("Fail");
})
.always(function() {
//console.log( "finished" );
alert("hz");
});
};
形式
<form class="join-newsletter">
<input id="email" name="email" type="email" placeholder="Enter your email address" class="email-address">
<input onclick="msg()" type="submit" value="Subscribe" class="submit-email button">
</form>
更新的代码:仍然显示数据:无效。
解决方案
我想您的ajax请求可以更改为。
$.get("/newsletter/subscribe?email="+ $('#email').val()
可能的问题是您没有email
正确地将值发送到您的控制器。
推荐阅读
- python - 我在 matplotlibs yticks 上做错了什么?
- angular - 角度复选框仅保存已更改的复选框
- wildfly-maven-plugin - wildfly-maven-plugin wildfly:start 如果管理端口不是 9990 则阻塞
- node.js - 通过 docker 文件在生产环境中设置 NODE_ENV 变量
- r - 计算数据框的月收益
- mysql - Mysql json 数据类型
- javascript - 从数组中返回“假”布尔值的数量 - MobX 和 React
- javascript - 从立即调用的 JavaScript 函数中导出变量
- facebook - facebook api 获得实时评论
- python - 与多个用户一起使用 rmate 连接到同一服务器(使用 VS Code 远程) - 如何使用套接字?还是其他想法?