2017-11-14 10 views
0

을 받고 난직접 CodeIgniter의에서 컨트롤러를 명중하고 JSON 응답

public function getprice($origin,$destination){ 
    $this->load->model("flights"); 
    $query['data']=$this->flights->giveprice($origin,$destination); //model gives fine result 
    $this->output 
    ->set_content_type('application/json') 
    ->set_output(json_encode(array('foo' => $query['data']))); //data is printed correctly 


    } 

내가 정확한 URL을 함께이 URL을 hitted 한 내 CodeIgniter는 컨트롤러에서이 일을하고있다 응답으로이 점점 : -

<div style="border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;"> 
<h4>An uncaught Exception was encountered</h4> 
<p>Type: ArgumentCountError</p> 
<p>Message: Too few arguments to function Booking::getprice(), 0 passed in /opt/lampp/htdocs/codeIgniter/system/core/CodeIgniter.php on line 532 and exactly 2 expected</p> 
<p>Filename: /opt/lampp/htdocs/codeIgniter/application/controllers/Booking.php</p> 
<p>Line Number: 22</p> 
<p>Backtrace:</p> 
<p style="margin-left:10px"> 
     File: /opt/lampp/htdocs/codeIgniter/index.php 
    <br /> 
     Line: 315 
    <br /> 
     Function: require_once 
</p> 

매개 변수가없는 또 다른 함수가 제대로 실행되지만 매개 변수 ("GET")가 관련되어 있으면 "너무 적은 인수가 있습니다"라는 메시지가 2 개 제공됩니다. 제가 잘못하고있는 곳에서 저를 교정하십시오.

답변

1

당신은 GET 매개 변수를 사용하여 통화 기능을 가지고있다. 그러나 codeigniter를 호출하는 것은 일반적인 함수 호출과 다릅니다. 예 : http://localhost/project/main/getproduct/24/45

내가 이런 식으로 호출 할 경우이 Passing multiple variables in URL using codeigniter

+0

그래하지만 .... 로컬 호스트/CodeIgniter의/index.php에/예약/getprice 출처 = 카라치 및 대상 = 라호르 아니라 좋아하는 것을 참조하십시오. . localhost/codeIgniter/index.php/예약/getprice/Karachi/Lahore ??? – Asim

+0

컨트롤러에서 $ GET [ 'origin']을 줄 필요가 있지만 매개 변수를 전달할 때 쉽게 $ origin을 얻을 수 있습니다. – Artier

+0

"정의되지 않은 변수 $ GET" – Asim

1

당신은 get 매개 변수를 사용하여 호출 기능을 가지고 있습니다. 그러나 codeigniter를 호출하는 것은 매개 변수가 주어질 때 호출하는 일반 함수와 다릅니다. 예 : 로컬 호스트/CodeIgniter의/index.php에/예약/getprice/카라치/라호르

이 참조 : Passing multiple variables in URL using codeigniter