使用AJAX“回头”

时间:2013-06-25 09:08:01

标签: 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 "";
}
else {
 header("");
 OR
 echo "";
}

但这不会运行。 所以我需要再次处理结果(使用AJAX?) 谢谢!

2 个答案:

答案 0 :(得分:0)

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

echo '1';
exit;

答案 1 :(得分: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/

安全

但最后一点,请考虑安全性,因为任何人都可以向此网址发送JS请求,强制删除某种类型。

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

所以要做的主要是: