gpt4 book ai didi

javascript - 单击按钮执行 php 文件然后重定向

转载 作者:行者123 更新时间:2023-11-30 17:51:39 26 4
gpt4 key购买 nike

大家好,

整天都在寻找如何做到这一点。我想要的是让每次“点击”进入一个 php 文件并确定将采取什么行动。

itemAction.php

    include 'inc/database.php';
include 'inc/functions.php';

if ($_GET['action'] == 'delete') {
// do delete action <-- this one is working
} else if ($_GET['action'] == 'edit') {
// do edit action; NOW HERE I WANT TO REDIRECT TO ANOTHER PAGE
header("location: edit.php"); // I can't do something like this. Why?
}

html

<div class="action">    
<a id="delete" href="itemAction.php" rel="<!--some_id-->"><img src="images/trash.ico" alt="delete"></a>
<a id="edit" href="itemAction.php" rel="<!--some_id-->"><img src="images/Pencil-icon.png" alt="edit"></a>
</div>

js

$("div.action a#delete").click(function (e) {
var decision = confirm("Are you sure you want to delete the item?");
if (decision) {
e.preventDefault();
$.get('itemAction.php', {action : 'delete', id : $(this).attr("rel")}, function (data) {
location.reload();
alert("Succssfully deleted!");
});
}
return false;
});

$("div.action a#edit").click(function (e) {
e.preventDefault();
$.get('itemAction.php', {action : 'edit', id : $(this).attr("rel")});
});

删除操作似乎有效。但我不能在重定向到其他页面的编辑操作中执行我想要的操作。有什么更好的方法可以做到这一点?任何帮助将非常感激。谢谢

最佳答案

你不能这样做,因为 ajax 只会向你发送响应 html、文本、xml 或 json 响应,但不能进行重定向。

对于重定向,您必须返回任何内容,比如 “redirectme.”,并且根据该响应,您需要在 javascript 中添加代码以重定向到所需位置。

你能做什么?

在php文件中添加以下代码,

echo json_encode(array('status' => 'edit', 'url' => 'edit.php'));

根据上面的响应修改你的$.get response callback如下。

$.get('itemAction.php', {action : 'delete', id : $(this).attr("rel")},
function (data)
{
if(response.status == 'edit'){
window.location = response.url;
}
});

这只是您需要根据需要设置的指南。

评论回复

如果 js 被禁用,那么您需要相应地编写代码。

首先你需要修改你的html链接,如下所示,

<a id="delete" href="itemAction.php?action=delete&id=someid"
<a id="edit" href="itemAction.php?action=edit&id=someid"

并通过单击上面的链接使用其 href 属性传递到 $.get 中,如下所示。

$.get( $(this).href()

这样做可以禁用 js,您的代码也可以正常工作。

关于javascript - 单击按钮执行 php 文件然后重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18886272/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com