微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – Yii Framework 2.0检查它是否是来自AJAX的GET请求

使用Yii framework 2.0,我有一个AJAX GET jQuery脚本,它指向控制器类中的一个函数.

$.get('localhost/website/index', {param: 'xxxx'}, function(returnedData){
    // some code here.....
}, 'json');

在控制器类中,我有一个处理AJAX GET请求的方法.

public function actionIndex() {
     $getParam = $_GET['param'];
     // echo $getParam is: 'xxxx'.

     // some other code here....

     echo json_encode(array());
}

执行这个AJAX GET jQuery脚本时一切正常.但是,如果我在Web浏览器上手动访问链接localhost / website / index,我会收到以下错误.

PHP Notice - ErrorException
Undefined index: param

// the code snippet is also being shown.....

我不希望任何用户看到此错误,以防他们知道此链接并偶然或故意访问此链接.如果我使用

if($_GET['param']){...}

我仍然在浏览器上收到错误消息.我怎么解决这个问题?

解决方法:

您可以检查请求是否为ajax请求:

$request = Yii::$app->request;
if ($request->isAjax) {...}

或者您可以检查请求是POST还是GET

if (Yii::$app->request->isPost) {...}
if (Yii::$app->request->isGet) {...}

并始终使用isset()!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐