如何在ajax.jquery中管理location.reload

时间:2013-04-18 08:40:28

标签: javascript html jquery

场景:“我想在用户输入数据后自动重新加载页面”。 我试着搜索最好的方法。我选择使用位置重新加载

我的问题:

当我在一段脚本中使用location.reload时,它可以工作。

$("#save").click(function(){
//ambil nilai-nilai dari masing-masing input
wp = $("#wp").val();
if(wp==="- Jenis Werehouse -"){
alert("Pilih dulu jenis werehouse");
exit();
}
posisi = $("#posisi").val();
pid = $("#pid").val();
if(pid==="- Produk ID -"){
alert("Pilih dulu ID Produk");
exit();
}
pname = $("#pname").val();
if(pname==""){
alert("Pilih dulu ID Produk");
exit();
}
pdate=$("#pdate").val();
if(pdate==""){
alert("Isi dulu tanggal inputnya");
exit();
}
datanya = "&wp="+wp+"&posisi="+posisi+"&pid="+pid;
datanya = datanya+"&pdate="+pdate+"&pname="+pname;
//tampilkan status Updating dan animasinya
$("#status").html("Dalam proses...");
$("#loading").show();
$.ajax({
type:'POST',
url: "aksi.php",
data: "op=save"+datanya,
cache: false,
success: function(msg){
if(msg=="error1"){
$("#status").html("Rak ini penuh");
}else if(msg=="sukses"){
$("#status").html("Data berhasil disimpan")}else{
$("#status").html("ERROR..penyimpanan data GAGAL!");
}
$("#loading").hide();
}
});
location.reload();
});
虽然页面重新加载传递步骤以显示消息错误和成功。我忽略了一段时间,看看有什么问题(根据我的意愿,我的页面重新加载。)

但我结合我的完整代码,如下图

<script type="text/javascript">
var wp;
var posisi;
var pid;
var pname;
var pdate;
var datanya;
$(document).ready(function(){
    $("#save").click(function(){
    //ambil nilai-nilai dari masing-masing input
    wp = $("#wp").val();
    if(wp==="- Jenis Werehouse -"){
    alert("Pilih dulu jenis werehouse");
    exit();
    }
    posisi = $("#posisi").val();
    pid = $("#pid").val();
    if(pid==="- Produk ID -"){
    alert("Pilih dulu ID Produk");
    exit();
    }
    pname = $("#pname").val();
    if(pname==""){
    alert("Pilih dulu ID Produk");
    exit();
    }
    pdate=$("#pdate").val();
    if(pdate==""){
    alert("Isi dulu tanggal inputnya");
    exit();
    }
    datanya = "&wp="+wp+"&posisi="+posisi+"&pid="+pid;
    datanya = datanya+"&pdate="+pdate+"&pname="+pname;
    //tampilkan status Updating dan animasinya
    $("#status").html("Dalam proses...");
    $("#loading").show();
    $.ajax({
    type:'POST',
    url: "aksi.php",
    data: "op=save"+datanya,
    cache: false,
    success: function(msg){
    if(msg=="error1"){
    $("#status").html("Rak ini penuh");
    }else if(msg=="sukses"){
    $("#status").html("Data berhasil disimpan")}else{
    $("#status").html("ERROR..penyimpanan data GAGAL!");
    }
    $("#loading").hide();
    }
    });
    location.reload();
    });

    //jika tombol VIEW diklik
    $("#view").click(function(){
    posisi = $("#posisi").val();
    $("#status").html("Mencari Data...");
    $("#loading").show();
    $.ajax({
    type:'POST',
    url: "aksi.php",
    data: "op=view&posisi="+posisi,
    cache: false,
    success: function(msg){
    if(msg=="error"){
    $("#status").html("Tidak ada produk di RAK ini");
     $("#loading").hide();
    }
    else{//karna di server pembatas setiap data adalah |
        //maka kita split dan akan membentuk array
        data = msg.split("|");            
    //masukkan ke masing-masing textfield
     $("#pname").val(data[0]);
     $("#pdate").val(data[1]);
     //hilangkan status dan animasi loading
     $("#status").html("");
     $("#loading").hide();
       }
       }
     });
    });
    //jika tombol DEL diklik
    $("#delete").click(function(){
    posisi = $("#posisi").val();
    alert("Anda yakin untuk mengosong data produk yang ada di rak ini");
    $("#status").html("Lagi didelete...");
    $("#loading").show();
    $.ajax({
    type:'POST',
    url: "aksi.php",
    data: "op=delete&posisi="+posisi,
    cache: false,
    success: function(msg){
    if(msg=="sukses"){
    $("#status").html("Delete Berhasil...");
    }else{
    $("#status").html("ERROR..");
    }
    $("#loading").hide();
    }
    });
    location.reload();
    });
    });
    </script>

location.reload将使其上方的脚本无法使用

简单的问题  1.如何管理location.reload将在ajax.jquery函数完成后运行?  2.在页面中看到自动输入用户输入的最佳方法是什么?

请告知,代码将非常感谢

1 个答案:

答案 0 :(得分:2)

使用 document.location.reload() 与

一起
$("#loading").hide();

内部成功功能。你的成功应该是这样的。

success: function(msg){
    if(msg=="error1"){
    $("#status").html("Rak ini penuh");
    }else if(msg=="sukses"){
    $("#status").html("Data berhasil disimpan")}else{
    $("#status").html("ERROR..penyimpanan data GAGAL!");
    }
    $("#loading").hide();
    document.location.reload();
    }