Php &引用;“往回走”;使用AJAX
我是AJAX新手,我还在学习, 我用它来删除一个用户帐户 这就是我的main.js代码: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
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
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);
});
}