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

Nat*_*ton 11 html javascript forms ajax jquery

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

现在我又开始做网页了,我一直在学习JavaScript和jQuery.由于jQuery可以截取诸如click,keypress和之类的事件focusout,并且可以用$.ajax()和读取数据$.getJSON(),是否仍然需要一个<form>标记?

如果我想支持关闭JavaScript的用户,可能还需要"真实表单"吗?

Cᴏʀ*_*ᴏʀʏ 5

表格仍然可以帮助你,但简短的答案是否定的,不是真的.

如果您有一组与某个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);
    }
});
Run Code Online (Sandbox Code Playgroud)

根据您的要求,您可能需要保留表单,以便关闭Javascript的用户可以轻松降级.您仍然需要提交表单,因此设置表格并将其设置到位是一个好主意.