如果我想要的是将表单提交给带有POST数据的PHP处理器并获得结果,是否有理由在jQuery加载方法上使用ajax方法?
使用Ajax需要一堆代码而不是jQuery中的一行非常简单,如下所示:
$("#myDIV").load("myProcessor.php", {field1: target.value});
嗯,也许这只适用于一个领域?对不起,回到JS。
答案 0 :(得分:0)
对于简单的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
方法提交表单。 POST
和GET
都是不同的方法,并且工作方式不同,使用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/