jquery load vs ajax for form post submission


jquery load vs ajax for form post submission

如果我想做的只是向带有 POST 数据的 PHP 处理器提交表单并获得结果,那么有什么理由使用 ajax 方法而不是 jQuery 加载方法吗?

使用 Ajax 需要一堆代码,而不是在 jQuery 中的一行上非常简单的代码,如下所示:

$("#myDIV").load("myProcessor.php", {field1: target.value});

嗯,也许这只适用于一个领域?对不起,刚刚回到JS。

$(element).load(...)会自动将服务器响应作为html插入到选定的元素中(.load()的jQuery文档)。这可能会导致您的服务器直接向用户公开有关请求的信息,这可能不是您要执行的操作。

$.ajax()还允许对请求期间发生的情况进行非常精细的控制。您可以准确地拦截异常,并在请求成功完成时生成回调。这些都是使用$.ajax()而不是$(element).load(...)的原因。但是,如果您唯一关心的是发送 POST 标头中的数据并使用响应,那么将 $.post 与回调函数一起使用可能是最简单的方法。http://api.jquery.com/jQuery.post/

  • .load方法大致相当于 $.get(url, data,成功)(来源)。
  • .get方法是简写的Ajax函数(源)。

对于简单的 ajax 调用,.load 是合适的。如果要处理特殊参数,请使用.ajax

PS:如果你不想要像jQuery这样的胖框架,请看这里:http://microjs.com/#ajax

来自 jQuery 网站关于加载

此方法是从服务器获取数据的最简单方法。是的 大致相当于 $.get(URL, data, success),除了它是一个 方法而不是全局函数,它有一个隐式回调 功能。当检测到成功的响应时(即当文本状态 是"成功"或"未修改"),.load() 设置的 HTML 内容 将元素与返回的数据匹配。

您可以在 StackOverflow 上读取加载 ajax 之间的差异。

但是,load不适用于使用post方法提交表单。POSTGET都是不同的方法,工作方式不同,使用GET该方法提交的数据将在$_GET数组中可用,但在$_POST中不可用。