簡體   English   中英

e.preventdefault和asp.net登錄表單不起作用

[英]e.preventdefault and asp.net login form not working

我試圖僅在https.get函數不會產生錯誤的情況下提交asp.net登錄表單。 如果返回錯誤,我不希望提交登錄表單。 當我調用e.preventDefault()時,登錄頁面只是刷新而無需登錄用戶。

為什么是這樣?

var loginForm = $('form');
var https = require("https");
var url = 'https://examplesite.com/';


loginForm.on('submit', function (e) {
        var loginSubmit = this;
        e.preventDefault();
            https.get(url, function (res) {
                res.resume();
                loginSubmit.submit();
            }).on('error', function () {
                // display error, do not login
            });
});

我假設loginForm是實際的形式,即jQuery中的$('form')。 這與您的函數中的loginSubmit相同。

請參見,當引發loginSubmit.submit()事件時,您在內部調用該函數,該函數再次調用loginSubmit.submit() 這是個問題嗎?

您可以嘗試將功能綁定到提交按鈕的click事件。

需要有關res.resume()更多信息。 您能給我們您的loginForm變量來自哪里嗎?


更新:

我將綁定到“提交”按鈕的click事件。

$(document).on('click','btn#submit', function(e){
    e.preventDefault();
    // make the get call
    $.get(url)
         .done(function(){
             // success callback => submit the form.
             $('form').submit();
         })
         .fail(function(){
             // fail callback => display error.
         });
});

我對您的https呼叫了解不多。 我也不太清楚您的res.resume() 但是您現在應該有了一些線索。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM