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

标签 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.如何管理ajax.jquery函数完成后运行location.reload? 2. 使用户输入的内容自动显示在页面中的最佳方法是什么?

请指教,如果有代码我会很感激

最佳答案

使用 文档.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();
    }

关于javascript - 如何在ajax.jquery中管理location.reload,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16078247/

相关文章:

javascript - 在 jQuery 中,当窗口不在焦点上时,如何让计数器停止?

javascript - jQuery 如何如此快速地克隆它的方法?

javascript - Ckeditor 初始禁用小部件按钮状态

javascript - Javascript 中的快速双曲正切近似

javascript - 如何修复 "EJS unable to access DOM causing Document is not Defined "

javascript - 自动点击没有类别和 ID 的链接

javascript - 如何从contenteditable div中获取从开始到光标位置的文本

javascript - 动态加载 JavaScript 文件

javascript - HTML5 音频标签在 Chrome 中显示错误的 MP3 持续时间

javascript - 删除悬停图像上的闪烁