用ajax post方法丢失视图文件

时间:2019-02-15 12:34:32

标签: ajax cakephp

我试图过滤cakephp中的记录表单数据库。我正在使用ajax post方法在同一页面上获取详细信息。但是错误缺少视图文件。这是我的控制器。

public function userfunddetails(){
        $this->autoLayout = false;  
        $userid = $this->request->data('userid');
        $startdate = $this->request->data('startdate');
        $startdate = date('Y-m-d', strtotime($startdate));
        $enddate = $this->request->data('enddate');
        $enddate = date('Y-m-d', strtotime($enddate));
        $conditions = array(
        array('Recharge.add_date >= ' => $startdate, 'Recharge.add_date <=' => $enddate),
            'Recharge.user_id =' => $userid
            );
        $data = $this->Recharge->find('all',array('conditions'=>$conditions));
        $this->set('data', $data);   
    } 

这是我的ajax代码。同样的事情与其他功能一起工作。 我不知道会发生什么,但是相同的代码可用于其他模块。

<script>
$(document).ready(function(){
$('#frm_rechargeHistory_process').submit(function(){
    var userid = $("#userid").val();
    var startdate = $("#startdate").val();
    //alert(startdate);
   // var startdate = new Date($('#startdate').val());
    //var startdate = $("#startdate").datepicker({ dateFormat: 'yyyy-mm-dd' }).val();
   // var enddate = $("#enddate").val();   // Call ajax for pass data to other place
    //var enddate = new Date($('#enddate').val());
    var enddate = $("#enddate").datepicker({ dateFormat: 'yyyy-mm-dd' }).val();
  // alert(enddate);
    var dataString = 'userid='+ userid + '&startdate='+ startdate + '&enddate='+ enddate;
    if(userid==''||startdate==''||enddate=='')
    {
    alert("Please Fill All Fields");
    }else
    {
    // AJAX Code To Submit Form.
    $.ajax({
    type: "POST",
    url: "userfunddetails",
    data: dataString,
    cache: false,
    success: function(result){
    //alert(result);
    $('#txtHint').html(result);
    }
    });
    }
return false;
});
});
</script>

2 个答案:

答案 0 :(得分:0)

您的Ajax调用在您的函数命名为“ userfunddetails”时查找URL“ userHistorydetails”。

还,您不应该使用“ / controller / userfunddetails”作为URL吗?

答案 1 :(得分:0)

请检查是否对您有帮助。

在这种情况下,有两种选择:

首先,您可以在此处创建ctp文件:YOURCONROLLER / userfunddetails.ctp并使用$ data数组。

OR

第二,您可以将json_encode()放在如下所示的控制器函数中,并将die()放在函数末尾。

<?php echo json_encode(array('data' => $data)); die; ?>

您可以在jquery响应中找到$ data数组。