Javascript 当用户单击发送到其电子邮件的链接时。数据库中的记录将被删除

Javascript 当用户单击发送到其电子邮件的链接时。数据库中的记录将被删除,javascript,php,Javascript,Php,场景:用户输入并订购。 将发送一封确认电子邮件,其中包含取消订单的链接。 我想取消订单,只需点击链接,用户不做任何其他操作。这可能吗?是的,您可能需要在包含订单id的电子邮件中发送ajax调用的url(链接)。ajax调用将在数据库中进行更改 例如,在laravel中,我可以在routes文件中编写一个ajax调用,如下所示: Route::get('/ajax-city', function() { $countryId = Input::get('CountryId'); $city

场景:用户输入并订购。 将发送一封确认电子邮件,其中包含取消订单的链接。
我想取消订单,只需点击链接,用户不做任何其他操作。这可能吗?

是的,您可能需要在包含订单id的电子邮件中发送ajax调用的url(链接)。ajax调用将在数据库中进行更改

例如,在laravel中,我可以在routes文件中编写一个ajax调用,如下所示:

Route::get('/ajax-city', function() {
  $countryId = Input::get('CountryId');
  $city = City::where('country_id', '=', $countryId)->get();
  return Response::json($city);
});
现在我可以简单地称之为:


是的,这是可能的,下面是您如何做到的。假设以下链接是您发送给他/她的电子邮件的链接

http://www.example.com/?orderId=12567544356&cancel=1
在PHP代码中

if(isset($_GET['cancel']) && isset($_GET['orderId']))
{
  //you may also want to check the values..
  //then delete the record from the database table ..
}
[编辑] 订单Id可以是您希望以电子邮件形式发送的任何值。例如,发送电子邮件之前的代码可能如下所示

$query = "SELECT orderId FROM Order WHERE user_id = $current_user_id";
// ... you will run the query
$orderId = $row['orderId'];
// then when you send your email, you will prepare the link the following way
$cancelOrderLink = "http://www.example.com/?orderId=$orderId&cancel=1";
// send it 

是的,这是可能的。电子邮件中的链接与任何其他链接都没有区别。@user4035我知道这一点,但当用户单击链接时,我如何执行操作。从数据库中删除其uniqure记录我是否可以将somevalue作为php变量发送,例如$variable=“hello world”;链接应该是这样的:所以你可以。检查编辑后的答案。ajax调用的url?这是不可能的。Ajax代表异步JavaScript和XML。链接中不涉及Ajax。此外,您不希望向取消订单的用户提供JSON