3

我在我的视图中有一个 AJAX 调用,用于我的控制器中的一个操作。但是,我总是收到错误 400。下面是我的 AJAX 调用的代码:

    $.ajax({
        cache: false,
        url: '/dummy/index.php/module/controller/checkCross',
        dataType: 'json',
        type: 'POST',
        data : {"male":parents[0],"female":parents[1]},
        success: function(result){
            alert(result);
        }
    });

下面是控制器中的代码:

 public function actionCheckCross(){

     if(Yii::app()->request->isPostRequest) { // check if POST
        $flag = CrossingMatrix::model()->checkParentsIfCrossed($_POST['male'],$_POST['female']);

        if($flag){
            return true;
        }

        else{
            return false;
        }

    } else { // direct URL request will be GET, so show error
        throw new CHttpException(400, Yii::t('app', 'Direct access is not allowed.'));
    }

}

有任何想法吗?

4

1 回答 1

2

您期待 json 数据,但您将空页面发送到浏览器。你应该像这样编码结果:

echo CJavascript::jsonEncode((bool)$flag);
Yii::app()->end();

在您的代码中,您返回了值。请注意,您的 yii 异常消息是不允许直接访问,但您的错误是您的请求无效。

于 2013-05-02T09:29:58.397 回答