2010-05-06 5 views
3

이것은 간단하다고 생각합니다.Codeigniter 함수에 Ajax 변수 전달하기

필자는 양식에서 입력을 가져 와서 데이터베이스에 삽입하는 Codeigniter 기능을 가지고 있습니다. 나는 프로세스를 Ajaxify하고 싶다. 함수의 첫 번째 줄은 양식에서 id 필드를 가져옵니다. 대신 Ajax 게시물 (필수 값을 포함하는 양식의 숨겨진 필드를 참조 함)에서 id 필드를 가져 오려면이를 변경해야합니다. 어떻게해야합니까?

내 CodeIgniter의 컨트롤러 기능

function add() 
{ 
    $product = $this->products_model->get($this->input->post('id')); 

    $insert = array(
      'id' => $this->input->post('id'), 
      'qty' => 1, 
      'price' => $product->price, 
      'size' => $product->size, 
      'name' => $product->name 
     ); 

    $this->cart->insert($insert); 
    redirect('home'); 
} 

그리고 jQuery를 아약스 기능으로 항상

$("#form").submit(function(){ 
     var dataString = $("input#id") 
     //alert (dataString);return false; 
     $.ajax({ 
      type: "POST", 
      url: "/home/add", 
      data: dataString, 
      success: function() { 

      } 
     }); 
     return false; 
    }); 

, 사전에 많은 감사.

답변

5
$("#form").submit(function(){ 
     var dataString = $("input#id") 
     //alert (dataString);return false; 
     $.ajax({ 
      type: "POST", 
      url: "/home/add", 
      data: {id: $("input#id").val()}, 
      success: function() { 

      } 
     }); 
     return false; 
    }); 

ajax 메소드의 데이터 옵션에 유의하십시오. 이제 컨트롤러 메소드에서 수행하는 것처럼 $this->input->post('id')을 사용할 수 있습니다.

+0

Thorpe에게 감사드립니다. 매우 유용합니다. 난 그저 양식 입력을 찾고 있지만, jquery 아약스 – Matt

+0

"양식 입력"및 "AJAX 변수"같은 것을, 그래서 그들은 두 가지 POST 매개 변수를 보낼 수 있도록 codeigniter 함수의 첫 번째 줄을 변경해야합니다 HTTP 요청. AJAX는 존재하는 "것"이 아니라 방법론의 이름입니다. –

3

왜 ... 내가 CodeIgniter의 정상적인 매개 변수처럼 취급 추측 다음

url: "/home/add/" + $("input#id").val(), 

같은

url: "/home/add", 

의 말미에 슬램?

+0

네, 작동합니다 .... 고마워 ... !! – Zohaib