Yii2 Ajax返回整个页面内容

时间:2017-06-07 13:21:51

标签: jquery ajax yii2

我正在尝试制作简单的ajax:

$('.send-contact-button').on('click', function(e){
        e.preventDefault();

       var id = $('.send-contact-button').data('id');
       var flag = $('.send-contact-button').data('flag');

       $.ajax({
           method : 'GET',
           url : "contactHandler?id="+id+"&flag="+flag,
           success : function( data ){
                console.log( data );
           }
       });

    });

但每次我都获得html内容。尝试通过json发送数据,但没有结果。这个Ajax只是测试。 控制器:

public function contactHandler($id, $flag)
{
    echo $id;
}
你能告诉我我哪里错了吗?非常感谢你!

2 个答案:

答案 0 :(得分:1)

您的操作未正确定义,您可能会收到错误页面。

试试这个:

public function actionContactHandler($id, $flag)
{
    echo $id;
}

答案 1 :(得分:1)

你应该使用yii2 urlmanager规则格式化ajax调用(contact-handler而不是contactHandler

  $.ajax({
       method : 'GET',
       url : "contact-handler?id="+id+"&flag="+flag,
       success : function( data ){
            console.log( data );
       }
   });

并且在您的控制器中,您必须将操作文本添加到您的功能名称
例如:public function actionContactHandler($id, $flag)