Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有了JavaScript和AJAX,我还需要HTML吗<;表格>;标记,我是否仍需要使用“提交”将表单提交到服务器;提交;按钮_Javascript_Jquery_Html_Ajax_Forms - Fatal编程技术网

有了JavaScript和AJAX,我还需要HTML吗<;表格>;标记,我是否仍需要使用“提交”将表单提交到服务器;提交;按钮

有了JavaScript和AJAX,我还需要HTML吗<;表格>;标记,我是否仍需要使用“提交”将表单提交到服务器;提交;按钮,javascript,jquery,html,ajax,forms,Javascript,Jquery,Html,Ajax,Forms,当我学习HTML时,CGI是王者,与服务器交互的正确方式是将标记放在标记中。当用户按下“提交”按钮时,HTTP GET或HTTP POST消息被发送到服务器,浏览器使用服务器上CGI程序返回的HTML代码进行刷新 现在我又开始做网络工作了,我一直在学习JavaScript和jQuery。既然jQuery可以截获诸如单击、按键、和聚焦输出,并且可以使用$.ajax()和$.getJSON()读取数据,那么还需要使用标记吗 如果我想支持那些关闭了JavaScript的用户,也许“真正的表单”仍然是必

当我学习HTML时,CGI是王者,与服务器交互的正确方式是将
标记放在
标记中。当用户按下“提交”按钮时,HTTP GET或HTTP POST消息被发送到服务器,浏览器使用服务器上CGI程序返回的HTML代码进行刷新

现在我又开始做网络工作了,我一直在学习JavaScript和jQuery。既然jQuery可以截获诸如
单击
按键
、和
聚焦输出
,并且可以使用
$.ajax()
$.getJSON()
读取数据,那么还需要使用
标记吗


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

如果您使用的是ajax,只要您没有任何直接的POST或GET,就不需要表单标记。然而,它仍然是很好的html设计。

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

如果您有一组与某个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);
    }
});
$.ajax({
url:'ajax/test.html',
数据类型:“json”,
方法:“POST”,

内容:$('form#login _form')。serialize(),//您可以同时执行这两项操作,提交或不提交。这取决于您要侦听哪个表单元素以进行更改。但您可以执行以下操作,例如:

<SELECT NAME="tree" onchange="doSomething( someVar );">


但是,这要取决于你想操纵的页面的哪个元素。

你应该把JavaScript看作是表示层的“额外”,而不是HTML标准的替代。是的,你可以使用JavaScript行为代替DOM行为。但是,就像在45英里范围内驱动90MPH一样,你真的不应该。关于不引人注目的JavaScript的文章了解更多信息:如果我能总结到目前为止的答案,听起来标签似乎只有在序列化表单中的元素时才有必要。但更深入地思考,听起来“单页”之间有区别GMail和Google Maps等网站,以及Amazon.com等多页面网站。我可以看到多页面网站使用表单的价值,但“单页面”网站最好使用纯JavaScript,而不使用表单,尽管使用JavaScript异步提交表单可能不会有什么坏处。