Javascript 如何使用confirm()然后刷新页面?

Javascript 如何使用confirm()然后刷新页面?,javascript,confirm,Javascript,Confirm,我做了一个打印页面,从那里打印表格。但是当你删除一些东西时,你也需要刷新页面来应用网站。这是我的密码 <a target="_blank" onclick=" asd()" href="<?= url('/delete?id=' . $row['product_id']) ?>" class="btn success">Delete</a>` 当我删除某些内容时,单击“确定”后页

我做了一个打印页面,从那里打印表格。但是当你删除一些东西时,你也需要刷新页面来应用网站。这是我的密码

<a target="_blank" onclick=" asd()" href="<?= url('/delete?id=' . $row['product_id']) ?>" class="btn success">Delete</a>`

当我删除某些内容时,单击“确定”后页面不会刷新。

无法找到位置。refresh()方法

改为尝试
location.reload()


一般来说,当某段代码不起作用时,请尝试明确地隔离不起作用的部分,将来这样做的一个好方法是使用console.log,然后查看是否有结果。如果是,请尝试其他功能。如果它不起作用,那就是问题所在

我非常不喜欢用PHP来处理这样的事情,但是如果你想用它,我会改变一下

您同时启动onclick和a href,但实际上您希望一个接一个地启动,因为如果不这样做,您将进入竞速状态

另外,正如其他人已经指出的,没有
refresh
方法。使用
重新加载

以下是该问题的解决方案:

删除
常量url=;
函数asd(){
var a=confirm('您确定要删除此产品');
如果(a==1){
//在js中发出ajax请求,使其异步,并在成功后进行刷新
var xhttp=newXMLHttpRequest();
xhttp.onreadystatechange=函数(){
if(this.readyState==4&&this.status==200){
//重温成功
location.refresh();
}
};
xhttp.open(“GET”,url,true);
xhttp.send();
返回1;
}否则{
返回0;
}
}
如果您想进一步改进您的项目,而不仅仅是修复它的错误,以下是一些提示:

  • 使函数名有意义
  • 如果您愿意,可以使用PHP作为后端,但避免将其与模板代码(HTML、JS、CSS)混合使用
  • 重构后端以使用正确的RESTHTTP函数(删除、放置、修补等)
  • 为ajax安装库,而不是使用标准的JSXMLHttpRequest。尝试Axios或jQuery

我的第一个stackoverflow问题是我无法正确执行。这并不是说确认检查无法正常工作(使用松散比较),而是返回一个布尔值,而不是一个数字。另外,您还没有查看DevConsole,有一条错误消息等待着您。给定代码中到底有什么不起作用?你试过调试这个问题吗?这与PHP有什么关系?我通过将刷新更改为重新加载解决了我的问题。
function asd() {
  var a = confirm('Are you sure you want to delete this product');
  if (a == 1) {
    setTimeout(function() {
      location.refresh();
    }, 1000);
    return 1;

  } else {
    return 0;
  }
}