jquery load vs ajax for form post submission

时间:2013-09-22 18:03:22

标签: javascript php jquery ajax forms

如果我想要的是将表单提交给带有POST数据的PHP处理器并获得结果,是否有理由在jQuery加载方法上使用ajax方法?

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

$("#myDIV").load("myProcessor.php", {field1: target.value});
嗯,也许这只适用于一个领域?对不起,回到JS。

3 个答案:

答案 0 :(得分:0)

  • .load方法大致相当于$ .get(url,data, 成功)src)。
  • .get方法是一种速记Ajax 功能src)。

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

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

答案 1 :(得分:0)

来自jQuery网站关于加载

  

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

您可以在StackOverflow上阅读difference between load ajax

但是,load不适用于使用post方法提交表单。 POSTGET都是不同的方法,并且工作方式不同,使用GET方法提交的数据将在$_GET数组中提供,但不会在$_POST中提供。< / p>

答案 2 :(得分:0)

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

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