javascript - 使用 JavaScript 和 AJAX,我还需要 HTML <form> 标签吗?我还需要使用 "submit"按钮向服务器提交表单吗?

标签 javascript jquery html ajax forms

当我学习 HTML 时,CGI 为王,与服务器交互的正确方式是输入 <input> <form> 内的标签标签。当用户按下“提交”按钮时,会将 HTTP GET 或 HTTP POST 消息发送到服务器,并使用从服务器上的 CGI 程序返回的 HTML 代码刷新浏览器。

现在我又开始做网络工作了,我一直在学习 JavaScript 和 jQuery。由于 jQuery 可以拦截类似 click 的事件, keypress , 和 focusout , 并且可以用 $.ajax() 读取数据和 $.getJSON() , 是否还需要 <form>有标签吗?

如果我想支持关闭了 JavaScript 的用户,也许“真实表单”仍然是必要的?

最佳答案

表单仍然可以帮助您,但简短的回答是否定的,不是真的。

如果您有一组将与某个 AJAX 请求相关的输入,那么为了验证/序列化目的,将它们保存在自己的表单中可能会更容易。例如:

$.ajax({
    url: 'ajax/test.html',
    dataType: 'json',
    method: 'POST',
    content: $('form#login_form').serialize(), // <-- Serialize elements only in
    success: function(data) {                  //     the login_form container.
        $('.result').html(data);
    }
});

根据您的要求,您可能需要保留您的表单,以便为关闭 Javascript 的用户很好地降级。您仍然需要提交表格,因此设置并准备好表格是个好主意。

关于javascript - 使用 JavaScript 和 AJAX,我还需要 HTML <form> 标签吗?我还需要使用 "submit"按钮向服务器提交表单吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5437171/

相关文章:

javascript - 尝试从 JavaScript 函数调用单击隐藏按钮的函数

php - 在群组中共享实时 GPS 坐标的最佳方式是什么?

javascript - Vuejs 列表中 target/currentTarget 的替代方法

javascript - 如何使用 Jasmine 在 javascript 中模拟新函数/对象创建调用?

c# - 使用 asp 文件 uploader 上传超过 4mb 的图像?

javascript - 如何使用jQuery的extend实现多重继承

php - 在 php post jquery 后显示消息,禁用重定向

javascript - 如何正确使用显示: inline with ng repeat

javascript - 如何创建具有 dataTransfer 属性的事件?

html - DIV 在 CSS 布局中低于其他 DIV