2011-07-12 8 views
1

console.log(data);私はAjaxの結果データを取得すると、結果は検索フォームdiv内に表示されますが、結果の代わりにページソース全体を取得しますのみ)返されたデータでCodigniterからのAjaxの結果は、データの代わりにHTMLページ全体

はどう 私はデータのみを取得するのですか?

これは図である。

<div id="form-all">  

    <form name="search" action="html_form_action.asp" method="post"> 
    <input type="text" name="search" /> 
    <input type="submit" value="חפש" /> 
    </form> 

</div> 

<script> 

    $("form[0] :submit").live("click", function(event) { 

     event.preventDefault(); 

     $.ajax({ 

      type: "POST", 
      url: "<?= site_url('pages/search') ?>", 
      data: {company : $("form[0] :text").val()}, 
      success: function(data) { 

       console.log(data); 
      } 
     }); 
    }); 

</script> 

そして、これはコントローラです:

function search1() 
{ 
    $data['page_title'] = 'Search'; 

    $this->load->view('head', $data); 
    $this->load->view('pages/search', $data); 
    $this->load->view('footer'); 

    return json_encode($this->Company->get_companies_by_name($this->input->post('company'))); 
} 
+0

/フッタービュー? – DirkZz

答えて

0

はこれを試してみてください:

data: {"company" : $("form[0] :text").val()}, 
1

はい。それは正しいです。

jQueryのAJAX要求のデータプロパティが戻り値とは何の関係もありません - 単にサーバは成功の方法で起こるものは何でもと組み合わせ送る何の責任です。リファクタリングをする必要があります。

function ajax_search() 
{ 
    echo json_encode(
     $this->Company->get_companies_by_name(
      $this->input->post('company') 
     )->result()); 
} 

をそしてjQueryのでは、単純にそれを変更します:それは私だったら

、私はこれを検討する

あなたはヘッダのみアウトで結果をエコーとどう
event.preventDefault(); 

    $.ajax({ 

     type: "POST", 
     url: "<?= site_url('pages/ajax_search') ?>", 
     data: {company : $("form[0] :text").val()}, 
     success: function(data) { 

      console.log(data); 
     } 
    }); 
}); 
+0

それは動作します!しかし、今私はそれが何であるか分からない... {"conn_id":null、 "result_id":null、 "result_array":[]、 "result_object":[]、 "custom_result_object":[] 、 "current_row":0、 "num_rows":2、 "row_data":null} ' – ilyo

+0

ああ。これは、上の更新を参照してくださいCIクエリオブジェクトの表現です。 – cwallenpoole

関連する問題