Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.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?_Javascript_Php_Html_Ajax_Forms - Fatal编程技术网

Javascript 我应该使用表单的提交事件还是使用ajax?

Javascript 我应该使用表单的提交事件还是使用ajax?,javascript,php,html,ajax,forms,Javascript,Php,Html,Ajax,Forms,我在我的网站上经常使用表单,所以我一直在想,用正常的提交按钮或使用ajax提交表单更好吗。我通常使用ajax来防止表单重新提交,这可能会导致在数据库中重复插入一些行,从而导致问题。我知道,如果我选择使用表单提交上的preventDefault方法,使用submit按钮提交表单,我可以防止表单重新提交,但是使用正常的提交按钮将要求我包含PHP文件,该文件将处理包含PHP文件的表单数据,该文件包含表单的HTML,而我认为这不是一种实用的方式,因为这会使用户的浏览器读取PHP文件中处理表单数据的代码,

我在我的网站上经常使用表单,所以我一直在想,用正常的提交按钮或使用ajax提交表单更好吗。我通常使用ajax来防止表单重新提交,这可能会导致在数据库中重复插入一些行,从而导致问题。我知道,如果我选择使用表单提交上的preventDefault方法,使用submit按钮提交表单,我可以防止表单重新提交,但是使用正常的提交按钮将要求我包含PHP文件,该文件将处理包含PHP文件的表单数据,该文件包含表单的HTML,而我认为这不是一种实用的方式,因为这会使用户的浏览器读取PHP文件中处理表单数据的代码,即使用户没有提交触发此代码的表单,我认为这可能会导致网站加载缓慢。那么,你认为呢?

1)提交表单就是创建表单的目的。 不过,当用户更方便时,可以使用ajax提交。但它不应该无处不在

2) 单独的php文件不应包含表单代码。您可以使用action=“”确定特定文件或地址

3) 浏览器不会读取php文件中的代码。服务器执行此操作并仅返回html数据

4) 如果您使用php表单减慢页面速度,则意味着您的网站引擎设计不正确。通常对于用户来说,ajax和重新加载提交之间没有区别


结论:将请求发送到单独的页面是正常的,大多数框架的工作方式都类似于。但是,在某些情况下,例如在一个页面上有多个表单,您可能需要使用ajax方法。

但是使用普通的提交按钮需要在包含表单htnl的同一个php文件中包含处理表单数据的php文件。这难道不能通过设置表单的
action
属性来实现吗?此外,普通的PHP代码不会发送到客户端,PHP响应的唯一内容是您使用的内容取决于最佳解决方案是什么。。。i、 e.锤子钉钉子,螺丝刀钉钉子-你可以用锤子钉钉子,也可以用螺丝刀钉钉子,但它们不是最好的工具
这会让用户的浏览器读取php文件中的代码
-不,浏览器无法访问php文件。浏览器得到的是PHP处理PHP文件相关的输出:此外,ajax需要Javascript(但如果您愿意,可以忽略1%未启用JS的真实用户)action属性会将用户重定向到action属性值中的页面,我不希望特别是我希望首先检查表单输入是否在发送数据之前都已设置,并显示自定义警报(如果您考虑使用“required”属性)@某些性能
服务器执行此操作并仅返回html数据
或任何其他格式,具体取决于PHP文件:pab中的代码。这就是我通常说的原因。很多框架都使用这种方法。但是很明显,在某些情况下,不需要根据需要多长时间来重新加载整个页面。哎呀,是的,你确实说过通常-我甚至复制了它-我的错误