如何解决PHP MVC和AJAX:仅允许ajax调用特定方法操作
我学习了MVC的想法。因此,这是我的应用程序读取网址的方式:
btn_next_calibrate
就像大多数php mvc框架一样(我想)。
我有一些常见的动作,例如https://example.com/content/report => content=controller and report=action
,report
,这些动作无需任何身份验证或用户登录即可执行。这些方法(动作)是使用ajax调用的,例如:
sendFeedback
这是$.ajax({
url: "content/report",type : 'POST',data: {'contentId' : contentId,'reportId': reportId}
}).done(function() {
alert("Reported");
});
控制器中的report
动作:
content
使用ajax一切都可以正常工作。但是有一点我注意到,当我尝试在浏览器的导航栏中手动访问url时,它也可以正常工作,并向我返回了包含以下数据的空白页:
public function reportAction(){
$reported = false;
if($this->request->isPost()) {
//save and do stuff
}
$result = ["result"=>$reported];
$this->jsonResponse($result);
}
期望。但是我不希望用户能够像这样访问url或执行这样的方法/操作,但只能使用ajax,如果不使用ajax,则向他们显示错误消息,例如{"result":false}
等。那么我该怎么办?实现这一目标?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。