jQuery中的$ .post语法

use*_*288 3 javascript jquery

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

$.post("GridValues.jsp", {"rowData": rowData });
Run Code Online (Sandbox Code Playgroud)

Aln*_*tak 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 
});
Run Code Online (Sandbox Code Playgroud)

请注意使用延迟对象如何公开不能直接使用的功能(.fail.always回调)$.post,这些功能仅支持传递success(又称done)处理程序.

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


Tec*_*hie 3

你的 jquery 调用应该适合你。另外你可以随时参考 jquery API jQuery.post

jQuery.post( url [, 数据] [, 成功(数据, textStatus, jqXHR)] [, dataType] )

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

data随请求发送到服务器的映射或字符串。

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

dataType服务器期望的数据类型。默认值:智能猜测(xml、json、脚本、文本、html)。

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