簡體   English   中英

AJAX jQuery表單提交發送兩次POST和OPTIONS

[英]AJAX jQuery form submit sending twice POST & OPTIONS

我很難弄清為什么在表單提交時兩次發送我的AJAX代碼。

OPTIONS請求和POST請求-均為200條狀態消息。 POST請求成功,並返回我想要的,所以一切都很好。 我不希望發生OPTIONS請求。

以為這可能與CORS或解除對Submit事件處理程序的綁定有關?

如果有人可以幫助,那就太好了。

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
<form id="loginform">
        Username: <input type="text" class="rname" name="username" value=""/>
        Password:  <input type="text" class="rpass" name="password" value=""/>
        <input type="submit" value="Submit" />
</form>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script type="text/javascript">

scripts = function () {
    var _t = this;
    var authenticateUrl = "http://...";
    this.events = function () {
        $('#loginform').submit(_t.loginEvent);
    };
    this.loginEvent = function (event) {
            event.preventDefault();
            var $form = $(this);

            var _name = $form.find(".rname").val();
            var _pass = $form.find(".rpass").val();

            var submitData= {username: _name,password: _pass};
            submitData = JSON.stringify(submitData);

            $.ajax({
                type: 'POST',
                contentType: "application/json",
                dataType: 'json',
                url: authenticateUrl,       
                data: submitData,
                success: function(data) {
                    console.log("Success loginEvent");
                    if (data.error) {
                        console.log("Unsuccessful Login");
                    } else {
                        console.log("successful Login");
                    }
                }
            });
        };

    this.init = function () {
        _t.events();
    };
    this.init();
    return (this);
};

var LZ = new scripts();
</script>
</body>
</html>

如果您正確地獲得響應,那么這並不奇怪。

Options請求用於允許客戶端確定與資源相關聯的選項和/或要求,或服務器的功能,而無需暗示資源操作或啟動資源檢索。

OPTIONS請求是跨域資源共享(CORS)中pre-flight請求。

當您跨不同來源提出請求時,它們是必需的。

暫無
暫無

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

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