phpmvc&;AJAX:只允许AJAX调用特定的方法(操作)
我正在学习MVC的理念。下面是我的应用程序读取URL的方式:例如。phpmvc&;AJAX:只允许AJAX调用特定的方法(操作),php,jquery,ajax,model-view-controller,Php,Jquery,Ajax,Model View Controller,我正在学习MVC的理念。下面是我的应用程序读取URL的方式:例如。 https://example.com/content/report =>content=controller和report=action就像大多数php mvc框架一样(我猜) 我有一些常见的操作,如报告,发送反馈,这些操作可以在没有任何身份验证或用户登录的情况下执行。使用ajax调用这些方法(操作),如: $.ajax({ url: "content/report", type : 'POST',
https://example.com/content/report =>content=controller和report=action
就像大多数php mvc框架一样(我猜)
我有一些常见的操作,如报告
,发送反馈
,这些操作可以在没有任何身份验证或用户登录的情况下执行。使用ajax调用这些方法(操作),如:
$.ajax({
url: "content/report",
type : 'POST',
data: {'contentId' : contentId, 'reportId': reportId}
}).done(function() {
alert("Reported");
});
以下是控制器中的报告
操作:
public function reportAction(){
$reported = false;
if($this->request->isPost()) {
//save and do stuff
}
$result = ["result"=>$reported];
$this->jsonResponse($result);
}
使用ajax一切都很好。但有一件事我注意到,当我试图在浏览器的导航栏中手动访问url时,它也起了作用,并返回了包含以下数据的空白页面:
{"result":false}
这是意料之中的。但我不希望用户能够像这样访问url或执行这样的方法/操作,但只能使用ajax,如果没有ajax,则向他们显示错误消息,如页面未找到
等。那么我如何实现这一点呢???这可能会有所帮助