11

jquery 中是否有任何方法,如 $.post 、 $.ajax 等,其工作方式类似于普通表单提交。我知道,但它需要一个表单元素,我们可以在 jquery 中.submit()发送一个没有表单元素的普通请求吗?

4

4 回答 4

24

您可以使用$.ajax(). 此外,要使其表现得像普通形式一样,请将async属性设置为false.

$.ajax({
    url:   "/controller/action",
    data:  {'foo':'bar'},
    async: false
});

这将导致您被发送到:

"/controller/action?foo=bar"
于 2012-05-31T14:46:55.057 回答
11
window.location.href = '/controller/action?foo=bar';
于 2012-05-31T14:45:14.277 回答
2

你不清楚你想要实现什么。据我了解,我假设您想向服务器发送 GET 或 POST(类似表单提交)请求,并使其看起来像一个真实的请求。

在这种情况下,你会:

  • 使用适当的参数创建一个 XMLHTTPRequest。
  • 使其同步。
  • 使用响应覆盖 DOM。
于 2012-05-31T14:50:47.177 回答
1

不完全清楚您的目标是什么,但是您可以使用 jQuery 的序列化 ( docs ) 从输入中传递一组值,而不是在表单或任何其他项目中。但是,您仍然需要以某种方式发布数据。

于 2012-05-31T14:46:33.867 回答