如果以下是使用jQuery将数据发送到另一个页面的正确方法,请告诉我。我是初学者,不确定语法。 rowData
采用JSON格式。我点击按钮传递值。
$.post("GridValues.jsp", {"rowData": rowData });
答案 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] )
您确定不想包含成功处理程序吗?