使用Yii框架在JavaScripts内部调用Ajax

使用Yii框架在JavaScripts内部调用Ajax,javascript,yii,Javascript,Yii,我试图在javascript中使用ajax函数,但它没有调用它的失败部分 JS代码: Yii::app()->clientScript->registerScript('my-event-listener'," $('#dedup_id').change(function(data){ $.ajax({ type: 'POST', url: '".$this->createUrl('Ch

我试图在javascript中使用ajax函数,但它没有调用它的失败部分

JS代码:

 Yii::app()->clientScript->registerScript('my-event-listener',"
     $('#dedup_id').change(function(data){ 

         $.ajax({
             type: 'POST',
             url:    '".$this->createUrl('CheckDedupField')."',
             data:  {crm_base_contact_id:1652},
             success: function(msg){
                 alert('Sucess')
            },
            error: function(){
                alert('failure');
            }
        });
    });
");
我的控制器代码:

public function actionCheckDedupField($id)
{
    echo "Inside CheckDedup".var_dump($_POST);
}

请任何人找出我在这里犯了什么错误。

您必须调用ajax url作为

 url:    '".$this->createUrl('checkDedupField')."', // change C to c
在URL中,控制器函数名将以小写字母开头

根据评论。您正在使用错误的名称调用控制器函数

然后,对于缺少的参数,更改为

 data:  {id:1652},

你的ajax被触发了吗?或者ajax功能完全不工作?警报(“失败”);只是把它扔出去,而不是开火。你在控制台中得到的反应是什么?您是否检查了控制台?Failuere message alonetthis controller action not get firing您是否检查了控制器中的访问规则?控制台错误:REQUEST_URI=/yii/index.php/baseContact/basecontactcheckdeduplifield HTTP_REFERER=--2014/02/03 12:12:41[错误][exception.CHttpException.404]异常“CHttpException”,在D:\xampp\htdocs\yii\framework\web\CController.php:483中显示消息“系统无法找到请求的操作”basecontactCheckDedupField“