【问题标题】:sending data from controller to model将数据从控制器发送到模型
【发布时间】:2015-10-16 01:52:39
【问题描述】:

我的网站上有以下代码,可以将数据发送到 Ajax 并且工作正常。这是关于添加到购物车的。

       public function adding()
        {
            $id_lap=$this->input->post('id_lap');  
            $num_items=$this->input->post('num_items'); 
            $price=$this->input->post('price');

             if($id_lap !='') 
             {

                     $this->session->set_userdata('num_items',$num_items);
                     $this->session->set_userdata('price_new',$price);


                     $response=array(
                        'status'=>1,
                        'num_items'=>$num_items,
                        'price_new'=>$price
                     );

             } else {

                 $response=array(
                    'status'=>0
                 );
             }

             echo json_encode($response);                      
        } 

当我想将数据发送到模型时,我想将数据连同我将使用模型收集的 IP 地址一起写入数据库。当我在 Ajax 崩溃的任何地方添加新行时。我要添加的部分代码是:

    $this->users_mod->AddSesija($id_lap,$price);  

我使用的 Ajax 代码是:

function Addtocart(id,prices)
{
    var id_lap=id;
    var ajaxURL= BASE_URL +'home/adding';
    var num_items = parseInt($('#num_items').html()) + 1;
    var price = parseInt($('#price_b').html());
    var price_new = price + prices;
    /*console.log(id_lap +' '+num_items+' '+price_new);  

    $('#num_items').html(num_items);
    $('#price_b').html(price_new); */
   $.ajax({
        url:ajaxURL,
        type:'POST',
        data:{'id_lap':id_lap,'num_items':num_items,'price':price_new},
        success:function(response)
        {
             var parsed = JSON.parse(response);

             if(parsed.status ==1)
             {
                 $('#num_items').html(parsed.num_items); 
                 $('#price_b').html(parsed.price_new); 
             }
        }
    } 
    )
}

【问题讨论】:

  • 您是否在崩溃中遇到任何特定错误?
  • 只是不起作用,但如果我打开控制台出现错误:POST localhost/prvisajt/home/adding 500 (Internal Server Error)
  • 也发布您的型号代码!!!
  • 好的,所以您的服务器正在抛出错误。您在服务器端看到任何错误吗?您应该在添加方法中添加日志行以帮助识别进度
  • ` 公共函数 AddSesija($id_lap,$price) { $id_adress=$this->input->ip_address(); $data=array('ip_adress'=>$ip_adress, 'id_lap'=>$id_lap, 'cena'=>$price); $this->db->insert('sesije',$data); }`

标签: ajax codeigniter model-view-controller


【解决方案1】:

我同意弗拉基米尔·格利索维奇的概念。我们知道,为了添加或插入一组数据,我们应该将它们绑定到一个数组中。

示例:

$data=array( 'ip_adress'=>$ip_adress, 'id_lap'=>$id_lap, 'cena'=>$price );

N.b: 从 PHP 代码中获取 IP 地址保存在 $ip_address 中。

然后使用 CI 语法将数据传递给模型。

在 Controller 中调用模型:

 $this->users_mod->AddSesija($data);

现在将模型文件中的插入代码写成

public function AddSesija($data){

insertion code here..... 
}

希望对您有所帮助。

谢谢!

美国代码

【讨论】:

    猜你喜欢
    • 2011-08-16
    • 1970-01-01
    • 2011-08-09
    • 2016-10-04
    • 1970-01-01
    • 2021-11-21
    • 1970-01-01
    • 1970-01-01
    • 2019-07-25
    相关资源
    最近更新 更多