jQuery中的$ .post语法

时间:2012-10-15 09:11:25

标签: javascript jquery

如果以下是使用jQuery将数据发送到另一个页面的正确方法,请告诉我。我是初学者,不确定语法。 rowData采用JSON格式。我点击按钮传递值。

$.post("GridValues.jsp", {"rowData": rowData });

4 个答案:

答案 0 :(得分:6)

POST的语法取决于JSP页面是否期望接收CGI样式的URI编码变量或JSON blob。

在前一种(更常见的)情况下,您的代码是正确的 - rowData变量将显示为CGI参数,需要进行JSON解码。

如果您希望在$.post调用完成后让您的客户端代码执行某些操作,那么现代这样做的方法是使用延迟对象:

$.post(...).done(function(data, textStatus, jqXHR) {
    // called on success
}).fail(function(jqXHR, textStatus, errorThrown) {
    // called on failure
}).always(function() {
    // called in both cases 
});

请注意使用延迟对象如何公开使用.fail无法直接使用的功能(.always$.post回调),success仅支持传递done(aka {{ 1}})处理程序。

使用jqXHR的{​​{1}} 结果来注册回调比将回调作为参数直接传递给与AJAX相关的方法更灵活。它允许您编写仅负责启动 AJAX调用的函数,然后让处理程序与负责处理结果的处理程序完全分离。

答案 1 :(得分:3)

您的jquery通话应该可以正常工作。另外,您始终可以参考jquery API jQuery.post

  

jQuery.post(url [,data] [,success(data,textStatus,jqXHR)] [,   dataType])

     

url包含发送请求的URL的字符串。

     

dataA map或使用请求发送到服务器的字符串。

     

success(data,textStatus,jqXHR)执行的回调函数   如果请求成功。

     

dataType服务器所需的数据类型。默认:   智能猜测(xml,json,脚本,文本,HTML)。

尝试一下,如果您遇到任何问题,请告诉我们。

答案 2 :(得分:2)

$.post("GridValues.jsp", {"rowData": rowData }, function(){} );  

相同
$.ajax({
type: 'POST',
url: "GridValues.jsp",
data: {"rowData": rowData },
success: function(){}
});

答案 3 :(得分:1)

此语法有效。

请参阅: http://api.jquery.com/jQuery.post/

doc提供了这种语法: jQuery.post( url [, data] [, success(data, textStatus, jqXHR)] [, dataType] )

您确定不想包含成功处理程序吗?