任何人都知道如何在windows.location.reload(true)之后保留post参数?
function handler(event,ui)
{
$(this).find(".thumb").remove();
$(this).append('<img class="thumb" src="'+ui.draggable.attr('src')+'">');
imageurl = ui.draggable.attr('src');
$.ajax({
type: "POST",
url: 'www.check.com.sg/',
data: {name: imageurl},
complete:function(){
window.location.reload(true);
}
});
}
如果我在页面上重新加载。 post参数将被销毁
答案 0 :(得分:2)
首先,你的方法对于AJAX是错误的;一个人不应该在成功后刷新页面而是使用jQuery的.html()或.load()方法。
现在,如果你仍想做同样的事情,那么无法使用
完成window.location.reload(true);
改为使用
window.location.href
所以
function handler(event, ui) {
$(this).find(".thumb").remove();
$(this).append('<img class="thumb" src="' + ui.draggable.attr('src') + '">');
imageurl = ui.draggable.attr('src');
$.ajax({
type: "POST",
url: 'www.check.com.sg/',
data: {
name: imageurl
},
complete: function() {
var currentURL = window.location.href + '?var1=' + var1 + '&var2=' + var2;
window.location.href = currentURL;
}
});
}
答案 1 :(得分:1)
<form action="" method="post" id="myform">
<input type="hidden" name="my_var1" value="value_of_my_var1" />
<!-- More inputs here.... -->
</form>
然后在完成ajax调用后提交表单:
function handler(event,ui)
{
$(this).find(".thumb").remove();
$(this).append('<img class="thumb" src="'+ui.draggable.attr('src')+'">');
imageurl = ui.draggable.attr('src');
$.ajax({
type: "POST",
url: 'www.check.com.sg/',
data: {name: imageurl},
complete:function(){
$('#myform').submit();
}
});
}