#php #ajax #post #post-parameter
#php #ajax #Публикация #post-параметр
Вопрос:
Кто-нибудь знает, как сохранить параметры post после windows.location.reload(true)?
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 будут уничтожены
Ответ №1:
Во-первых, ваш подход неверен для AJAX; не следует обновлять страницу после успеха, вместо этого используйте .html() или .load() метод jQuery.
Теперь, если вы все еще хотите сделать то же самое, это невозможно сделать с помощью
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 'amp;var2=' var2;
window.location.href = currentURL;
}
});
}
Ответ №2:
Да, вы можете это сделать. Просто поместите все ваши переменные post в скрытую форму на странице, как это :
<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();
}
});
}