Ajax jQueryでポップアップフォームのログインを作成しようとしていますが、データの送信に失敗しています。私は見つけることができますが、何も変わらない、インターネット上の多くの方法を持っています。私を見て助けてください。ありがとう: は、これが私のフォームです:Ajax jQueryでデータを送信できない理由
$("#loginbutton").click(function(event) {
event.preventDefault();
var username = $("#username").val();
var password = $("#password").val();
var data ={"email":username, "password":password};
alert(data.email);
// alert(data.password);
$.ajax(
{
url: '{{url('/')}}/loginHandling',
type: 'POST',
data: {'email': "[email protected]", 'password':"tuyen12345"},
dataType: 'json',
success: function(data)
{
alert(data);
alert("done");
}
}
)
.fail(function(data) {
alert("fail");
});
});
そして、これはコントローラです::
<form id="loginform" name="loginform" method="POST">
{{ csrf_field() }}
<div class='modal-body-left' >
<div class="form-group">
<input type="text" id="username" name="username" placeholder="Tên đăng nhập" value="" class="form-control login-field">
<i class="fa fa-user login-field-icon"></i>
</div>
<div class="form-group">
<input type="password" id="password" name="password" placeholder="Mật khẩu" value="" class="form-control login-field">
<i class="fa fa-lock login-field-icon"></i>
</div>
<div class="checkbox">
<label>
<input type="checkbox" style="margin-top: -8px"> Nhớ mật khẩu
</label>
<a href="#" style="float: right;">Quên mật khẩu?</a>
</div>
<button class="btn btn-success modal-login-btn" id="loginbutton" name="loginbutton" style="background-color: #47a49a; background: #fec10f;" type="submit">Đăng nhập</button>
</div>
</form>
これは私のjsある
public function loginHandling() {
$email = Input::get('email');
$password = Input::get('password');
$check $this->pages->checkLogin($email, $password);
echo "alert(In loginHandling)";
if ($check) {
$name = $this->pages->getNameFromMail($email);
Session::put('logined', true);
Session::put('email', $email);
Session::put('name', $name);
die json_encode(array("success"=>"true"));
} else {
die json_encode(array("success"=>"false"));
}
}
私のように、私はLaravelフレームワークに取り組んでいますURLは次のように定義されます。
Route::post('/loginHandling',['as'=>'loginHandling','uses'=>'[email protected]']);
お返事ありがとうございます
これは具体的にどのように失敗しますか?これをデバッグすると、実際の問題はいつ起こりますか?それが起こるとき、関連する価値は何ですか? – David
申し訳ありませんが、分かりません。私がPostmanでメッセージを送信して問題を見つけようとすると、私はこの 'TokenMismatchException in VerifyCsrfToken.php line 68 'を取得しますが、それは何か分かりません。私はコントローラ上でいくつかのテストコードを試してみたので、コントローラにデータを送ることはできないと思うが、動作しなかった。 –
** 1。** '{{csrf_field()}}'は ''であるため、$ .ajaxメソッドのデータに '_token'を渡す必要があります。 ** 2。**あなたはjquery '$ .ajaxSetup({ ヘッダー:{ 'X-CSRF-TOKEN':$( 'meta [name =" csrf-token "]')のリクエストヘッダーを設定できます。attr 'content') } }) 'app.blade.phpファイル –