Php &引用;“往回走”;使用AJAX

Php &引用;“往回走”;使用AJAX,php,jquery,ajax,Php,Jquery,Ajax,我是AJAX新手,我还在学习, 我用它来删除一个用户帐户 这就是我的main.js代码: function userDeleteAccout() { $.ajax({ type: "post", url: "ajax.php?action=delete", error:function(){ alert("Something went wrong!"); } }); } 运行完美 我的ajax.php应该是: if() { header(""); OR echo

我是AJAX新手,我还在学习, 我用它来删除一个用户帐户

这就是我的main.js代码:

function userDeleteAccout() {
 $.ajax({
  type: "post",
  url: "ajax.php?action=delete",
  error:function(){
   alert("Something went wrong!");
  }
 });
}
运行完美

我的ajax.php应该是:

if() {
 header("");
 OR
 echo "";
}
else {
 header("");
 OR
 echo "";
}
但这并没有运行。 所以我需要再次处理结果(使用AJAX?)
谢谢大家!

这里有几个问题

$action = $_REQUEST['action'];
if($action == 'delete') {
 // perform delete operation
}

echo '1';
exit;
首先,您将在javascript中以POST的形式发送请求:

类型:“post”

然后通过URL字符串传递数据:

url:“ajax.php?action=delete”

您可能需要这样做:

Javascript PHP 您应该了解如何在JSON中管理请求和响应。这对初学者很有帮助:

处理返回的数据您可以使用
.done()

在此处查看jQuery文档:

安全 但作为最后一点,这里请考虑安全性,因为任何人都可以向这个url发送JS请求,强制执行某种类型的删除

我可以转到您的页面,打开我的开发工具,用post data
{action:'delete'}
运行一个html请求,并将请求发送到ajax脚本,从而删除一些内容

因此,要做的主要事情是:

  • 清理进入PHP脚本的数据:
  • 保护您的端点,这样就没有人可以将post请求传递给您的ajax.php

我对你的问题有点困惑。你是在问PHP文件应该如何处理ajax请求吗?是的,在PHP脚本完成后,我如何显示某些内容或定位..作为响应,你将得到1,因此只需检查例如(response='1'){alert(1);}@mathissachülingkamp你期望发生什么?@mathissachülingkamp回音不会发生任何事情。您所做的是运行服务器端脚本。该脚本不会在客户端执行任何操作。但是如果您使用
done
检查响应,它应该有包含您在php中回传的内容。这看起来不错,但我想知道似乎没有人明白我的问题:/i不能回传,什么也没有发生:o看:我在引导模式中有一个,而它运行AJAX函数,转到ajax.php,但是:它不响应页面上的任何内容!在php代码中添加类似于
htmlEntities($\u POST['data'])
的内容请参阅此处
[link](http://php.net/manual/en/function.htmlentities.php)
根据您试图完成的任务(有很多方法可以完成您正在做的事情),您可以使用
$('#元素').html(响应)更新响应中的页面html
您无法从ajax PHP文件回显页面,请参见上面的示例中如何使用done函数,以及您在PHP文件中回显的文本将在msg变量中返回。然后,您可以使用jquery$(“#some_div”)使用警报或将其添加到页面上的某些html中。html(msg)不要在msg变量周围加引号,否则它只会显示字符串。使用我以前见过的alert(msg)或alert(“”+msg+“”)
function userDeleteAccout() {
  $.ajax({
      type: "post",
      data: { action: "delete" },
      url: "ajax.php",
      error:function(){
         alert("Something went wrong!");
      }
  });
}
$data = $_POST['data'];

if($data['action'] == "delete")
{
  doSomething();
  echo "Delete successfull";
}else{
  doSomethingElse();
  echo "Something else done";
}
function userDeleteAccout() {
  $.ajax({
      type: "post",
      data: { action: "delete" },
      url: "ajax.php",
      error:function(){
         alert("Something went wrong!");
      }
  }).done(function(msg)
  {
     alert(msg);
  });
}