用POST将变量传递给另一个页面使用Jquery
我对Jquery比较新,我想知道如何将变量发布到另一个页面然后重定向?我用AJAX功能,重定向工作正常,但没有变量在POST捕获(它们是空的)用POST将变量传递给另一个页面使用Jquery
function linkWO() {
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "LinkTagOut.aspx",
dataType: "json",
data: "{id=1}",
complete:
function() {
window.location = "LinkTagOut.aspx";
}
});
}
在我的aspx文件
<a href="javascript:void(0);" onclick="return linkWO();"><span>Link</span></a>
这个答案仅仅是一个快速解决
为什么不你只是如果你喜欢的代码少做通作为查询字符串这里从jQuery的网站
<form id="target" action="destination.html">
<input type="text" value="Hello there" />
<input type="submit" value="Go" />
</form>
<div id="other">
Trigger the handler
</div>
$('#target').submit(function() {
$
.post('ajax/test.html', function(data) {
});
return false;
});
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "LinkTagOut.aspx",
dataType: "json",
data: { id: 1 }, // or the string: 'id=1'
complete:
function() {
window.location = "LinkTagOut.aspx";
}
});
从$.ajax documentation(data
选项) :
要发送到服务器的数据。它被转换成查询 字符串,如果还不是字符串的话。它的 追加到GET请求的URL。 请参阅processData选项以防止此 自动处理。对象必须是 键/值对。如果value是一个数组, jQuery基于 传统设置的值(如下所述)将多个值与 相同的密钥序列化。
此外,请确保从提交处理程序(或任何引发ajax调用),以确保没有发生'正常'重定向。
@ karim除了数据散列// – kobe 2010-12-03 23:02:54
看一看这个文档页面上的“数据”选项:http://api.jquery.com/jQuery.ajax/
你的问题是,你正在试图通过一个JSON字符串(它是有效的传递一个字符串),但如果你通过一个字符串,jQuery期待一个参数化的查询字符串。如果你想传递一个json对象,它不应该是一个字符串。
但是,请注意,通过这种方式传递的json对象将被jQuery转换为参数化的查询字符串,所以如果它不是不方便的(因为在这种情况下,只有一个值),您可能只是通过它以这种方式开始并保存脚本的一些工作。
window.location = "LinkTagOut.aspx?variabletopass=test";
代码这个:
- include jquery.redirect.min.js在您的JavaScript(js)文件夹中。
-
加载文件后JQUERY加载脚本:
<script type='text/javascript' src='jquery.js'> </script> <script type='text/javascript' src='jquery.redirect.min.js'> </script>
-
在你的JavaScript代码,只需更换下一行所需的参数(复制/粘贴):
$().redirect('targeturl.html', {'post_var_1': 'value1', 'post_var_2': 'value2'});
这是我发现将变量发布到另一个页面而不使用表单标记的最简单,最快捷的方法。祝你好运!
gnomixa - 我可能在这里的基地,但它看起来像我可能会误解ajax调用的目的。这听起来好像你想向页面发布一些值,就好像你正在提交一个表单(而不是异步的,意味着你不会离开你的当前页面)。那是对的吗? – Ender 2010-12-03 23:43:47
是的,你是对的。没有提交表单可能吗? – sarsnake 2010-12-04 00:08:06
我更新了我的答案,看到我认为那就是你想要做的事 – kobe 2010-12-04 00:30:05