0

我是 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?)谢谢!

4

2 回答 2

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

echo '1';
exit;
于 2013-06-25T09:10:28.563 回答
0

这里有几个问题。

首先,您在 javascript 中将请求作为 POST 发送:

type: "post"

但随后通过 URL 字符串传递您的数据:

url: "ajax.php?action=delete"

您可能需要做的是这样的事情:

Javascript

function userDeleteAccout() {
  $.ajax({
      type: "post",
      data: { action: "delete" },
      url: "ajax.php",
      error:function(){
         alert("Something went wrong!");
      }
  });
}

PHP

$data = $_POST['data'];

if($data['action'] == "delete")
{
  doSomething();
  echo "Delete successfull";
}else{
  doSomethingElse();
  echo "Something else done";
}

您应该查看如何在 JSON 中管理请求和响应。这对初学者很有帮助:http: //www.lennu.net/2012/06/25/jquery-ajax-example-with-json-response/

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

function userDeleteAccout() {
  $.ajax({
      type: "post",
      data: { action: "delete" },
      url: "ajax.php",
      error:function(){
         alert("Something went wrong!");
      }
  }).done(function(msg)
  {
     alert(msg);
  });
}

在此处查看 jQuery 文档:http: //api.jquery.com/jQuery.ajax/

安全

但最后一点,请在此处考虑安全性,因为任何人都可以向此 url 发送 JS 请求,以强制进行某种删除。

我可以转到您的页面,打开我的开发工具并使用发布数据运行 html 请求,{action: 'delete'}然后将请求发送到您的 ajax 脚本,从而删除某些内容。

所以主要要做的是:

于 2013-06-25T09:22:35.520 回答