2017-03-08 65 views
0

PHP函數應返回一個特定的數字並將其存儲到變量data [i]中。如何在$ .getJSON函數中訪問PHP函數?我使用了一個PHP CodeIgniter框架。謝謝!

`$.getJSON("<?php echo site_url('some_contoller/some_funcion');?>", function (data) { 
    for (var i = 0; i < data.length; i++) { 
      var data[i] = "<?php echo $this->some_PHP_function($with_parameter)?>"; 
    } 

}`

這是我的PHP函數:

public function get_report_pictures($report_id) { 
    $this->db->select('*'); 
    $this->db->where('report_id', $report_id); 
    $query = $this->db->get('report'); 
    $data = $query->result(); 

    return $data; 

}

+1

你好。您無法直接訪問PHP <-> Javascript。 PHP在服務器上運行,在瀏覽器上運行Javascript。對於兩者之間的交互,請使用AJAX。 – Twinfriends

+0

哦,好的,謝謝!那麼我會用AJAX調用一個PHP函數呢? –

+0

你可以發佈你的控制器的功能嗎? –

回答

0

在JavaScript文件(* .js文件),你不能使用PHP代碼。

您可以使用$ .ajax()調用控制器中的函數。

$.ajax({ 
      type: "post", 
      url: "some_contoller/some_funcion",   
      dataType :'json', 
      success: function(response){ 
       if(response.status=='success'){ 
       response.data.forEach(function (item) 
       { 
        var x = item.number; 
        console.log(x); 
       }); 
       } 
      },error:function (jqXHR, textStatus, errorThrown) { 
       console.log(textStatus); 
       } 
     }); 

在功能上你提到 'some_funcion'

echo json_encode(array(
         'status'=>'failed', 
         'data' => 'number you say ') 
         ); 
      exit(); 

這是我的希望solution.i所以這工作。

+0

好吧,非常感謝你!我會試試這個:) –