Я пытаюсь проверить электронную почту с помощью контроллера люмена. Если электронное письмо введено правильно, оно должно появиться «действительным», но в текущем состоянии оно всегда «недействительно», даже если введены правильные электронные письма.
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"]);
}
}
}
AJAX Call через jQuery
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>
Обновленный код: все еще отображаются данные: неверно.