2016-09-09 2 views
1

JQueryを覚えようとしており、validateライブラリ(https://jqueryvalidation.org/)のさまざまなルールを理解しようとしていました。 しかし、自分のHTML <form id="myform">method="POST"があっても、私のcheck-email.phpへのリモートリクエストはPOSTではなくGET経由で送信されることに気付きました。私は明示的なAJAXを使用せずにPOSTの代わりGET経由check-email.phpにリクエストを送ることができるか疑問に思ってJQuery検証ライブラリのリモートルールでGETの代わりにPOST経由でパラメータを送信しますか?

$("#myform").validate({ 
    rules: { 
     email: { 
      required: true, 
      email: true, 
      remote: "check-email.php" 
     } 
    } 
}); 

:ここで私が使用しているvalidateルールがあります。

ご協力いただければ幸いです。

+3

を設定しますか?検証要求が送信されるたびにページの全面的なリロードが強制され、ユーザーはひどいくすんだ経験のためにあなたのサイトを放棄します。 –

+0

私は明示的なAJAX要求なしで、リモートは暗黙的なものを持っています。 –

答えて

4

私は明示的なAJAXなしPOST代わりのGET経由check-email.phpにリクエストを送ることができるか疑問に思って。

これは意味をなさない。 remoteメソッドはajax()で容易になりますので、remoteをAjaxなしで使用することは全く不可能です。

check-email.phpへのリモート要求がGETなくPOST

Following the docsを介して送信され、あなたは任意のjQueryの.ajax()設定を使用することができます。

だから単にAJAXなしPOSTtype ...

$("#myform").validate({ 
    rules: { 
     email: { 
      required: true, 
      email: true, 
      remote: { 
       url: "check-email.php", 
       type: 'POST' 
      } 
     } 
    } 
}); 
+0

ありがとうございます。しかし、すべての検証要求がPOST経由でデフォルトで送信され、GETをオーバーライドしていることを確認できますか? –

+0

@AyushGupta、これはCLIENT-SIDEの検証です。したがって、**検証不要の**はどこでも送信されます。**は 'remote'の**を除きます。したがって、" remote "という名前です。 – Sparky

+0

私はそれを理解しています。私は、リモートを使う必要のある5つのフィールドがあると言うと、 'type: 'POST'と書くと、5つのフィールドすべてがPOST経由で送信され、GETをオーバーライドすることを確認できます。 また、AJAXなしでは、明示的なAJAXではなく、明示的なAJAXであることを意味しています。 –

関連する問題