2017-07-26 106 views
-2

我想從JS文件發送數據到PHP文件,其中一個函數接收這些數據並對其執行進一步的操作。但問題是數據沒有從JS接收控制器功能。我想從js發送數據到php

JS代碼:

$("#mybtn").click(function(){ 

    $.post(<?= base_url()?>+"upload",{a1: $('#a1').val(), a2: 
    $('#a2').val(), a3: $('#a3').val(), a4: $('#a4').val(),a5: 
    $('#a5').val()},function(data) { 
    }); 

});  

控制器功能:

function upload() { 

    echo "this is upload"; 

    $data = array(
    'name' => $this->input->post('a1'), 
    'email' => $this->input->post('a2'), 
    'pass' => $this->input->post('a3'), 
    'amnt' => $this->input->post('a4'), 
    'pcode' => $this->input->post('a5') 
); 

    $result = $this->pages_m->upload($data); 

    var_dump($data); 

} 
+0

使用簡單的jQuery POST方法來發表您的數據變量。 https://www.w3schools.com/jquery/jquery_ajax_get_post.asp – informer

+0

上午在codeingetr 3工作,並且我對此不熟悉如何執行數據庫任務 – aqib

+0

不需要恐慌。它非常直截了當。檢查鏈接並試一試。這將幫助您從瀏覽器/客戶端向您的服務器發送數據。一旦你在後端得到相同的結果,你可以在數據庫中進行處理或保留。 – informer

回答

2

首先你宣佈這個在包頭,在這之後你不需要在阿賈克斯再次使用BASE_URL()函數。

<script> 
    var url = <?php echo base_url(); ?> 
</script> 

$("#mybtn").click(function(){ 
$.ajax({      
    url: url+'upload',  
    type: 'post', // performing a POST request 
    data : { 
    a1: $('#a1').val(), 
    a2: $('#a2').val(), 
    a3: $('#a3').val(), 
    a4: $('#a4').val(), 
    a5: $('#a5').val() 
    }, 
    dataType: 'json',     
    success: function(data)   
    { 
    console.log(data) 
    } 
    }); 
}); 

在控制器

function upload() 
{ 
    if($_POST){ 
    $data = array(
    'name' => $this->input->post('a1'), 
    'email' => $this->input->post('a2'), 
    'pass' => $this->input->post('a3'), 
    'amnt' => $this->input->post('a4'), 
    'pcode' => $this->input->post('a5') 
    ); 
    $result = $this->pages_m->upload($data); 
    if($result == true){ 
     echo "Successfully Save";  
    }else{ 
     echo "Error"; 
    } 
    } 
    }