AJAX POST成功和错误触发

时间:2016-04-18 11:30:01

标签: javascript jquery ajax post

我在这里查了很多关于同一问题的帖子,但没有任何工作,或多或少它的行为就像一个小故障:

function onbtnclick(){


    var user_email=$('#user_email').val();
    var send_data = {email:user_email};

$.ajax({
        type: 'POST',
        url: 'someURL.php',
        crossDomain: true,
        data:send_data,
        dataType: 'text',
        success: function(responseData, textStatus, jqXHR) {
            alert("Thank you for the mailing list");
        },
        error: function (responseData, textStatus, errorThrown) {
            alert('Your email is already in our mailing list.');
            console.log('log e:'+responseData);
            console.log('log e:'+textStatus);
            console.log('log e:'+errorThrown);
        }
    });

        return false;

 }
};


<form name="myform">
    <input  id="user_email" type="email" name="email" placeholder="Your Email Here" style="width:300px" required><br>
    <br><button type="submit" class="leka-button button-style2 offer_button" onclick="onbtnclick()"><h5>SIGN UP</h5></button>
</form>

如果用户是新用户,或者如果他注册了触发错误,我试图提醒正确的消息,我试图删除dataType:'text'或添加'json'和\以及删除crossDomain属性但都没有给我理由。 如果这很有用,here is where I fire the AJAX script.

1 个答案:

答案 0 :(得分:0)

单击提交按钮时调用JavaScript。

JavaScript运行。 Ajax请求已准备好。 JavaScript完成了。提交按钮的默认行为提交表单。页面卸载。 Ajax请求已取消。提交定期表格。

删除onclick属性。用JavaScript绑定事件处理程序。

$(function () {
    var $form = $([name="myform"]); // `name` is obsolete for form elements, give it an ID instead
    $form.on('submit', onbtnclick);

    function onbtnclick(event) { // Give this function a better name
        event.preventDefault(); // Don't submit the form normally
        // Then put the rest of your existing code
    }
});