使用AJAX的POST表单

时间:2015-11-11 07:40:38

标签: jquery ajax

我试图使用jquery / ajax而不是使用表单操作url发布此表单。我已经写了我认为可行的内容,但我收到了错误error: Shell form does not validate

有什么帮助才能让它发挥作用?

此处有一个jsFiddle,其表单使用表单action=url

以下是我通过AJAX提交此表单所做的工作,但我收到的错误告诉我使用POST请求。

HTML:

<form>
    <div>Enter Filename</div>
    <input id="filename" type="text" name="entry.944320400">
    <div>Enter Name</div>
    <input id="name" type="text" name="entry.2146460057">
    <br>
    <input id="submit" type="submit" name="submit" value="Submit">
</form>

使用Javascript:

$('#submit').click(function () {
    var url = "https://docs.google.com/forms/d/1P6iosp_9AoYA1Rcn86T8j8_6xHdKp5KCKmEexMiDTsA/formResponse";
    var data = $('form').serialize();

    $.ajax({
        type: 'POST',
        url: url,
        data: data,
        success: function () {
            alert("Success");

        }
    });

2 个答案:

答案 0 :(得分:0)

您的表单是通过带有GET默认方法

的表单标记提交的

尝试:

$('#submit').click(function (e) {

    e.preventDefault();
        var url = "https://docs.google.com/forms/d/1P6iosp_9AoYA1Rcn86T8j8_6xHdKp5KCKmEexMiDTsA/formResponse";
        var data = $('form').serialize();

        $.ajax({
            type: 'POST',
            url: url,
            data: data,
            success: function () {
                alert("Success");

            }
        });

答案 1 :(得分:0)

表单正在发布到服务器以及您的Ajax帖子。你需要添加一个e.preventDefault();声明停止发布表格。

哎呀,我把它添加为评论而不是答案!