2011-07-21 7 views
0

jquery/codeigniterでajaxリクエストを作成しようとしています。まあ、問題があるようです。私が交換した場合CodeIgniterのコントローラCodeigniter ajaxリクエストが出力に失敗する

if($this->input->is_ajax_request()) { 
     echo $this->input->post('profileUpdate'); 
    } 

から...

Javascriptを

$('#profileUpdateButton').click(function() { 

     $.ajax({ // Starter Ajax Call 

      method: "POST", 
      url: baseurl + 'profile/statusUpdate', 
      data: $('#statusUpdateForm').serialize(), 
      success: function(data) { 
       alert(data); 
      } 

     }); 

     return false; 

    }); 

私はそれが動作するように得るかが、POSTが何らかの理由で、送信されていないように思えます"echo $ this->" etc ..ちょうどエコーで "こんにちは"私は "Hello"と警告ボックスを取得します、なぜ私はボックスからテキストを取得しないでください?

HTML

<div id="statusUpdate"> 
     <?php echo form_open(base_url() . 'profile/statusUpdate', array('name' => 'statusUpdateForm')); ?> 
      <input type="text" value="Hva tenker du på?" name="profileUpdate" id="profileUpdate" onfocus="if(this.value == 'Hva tenker du på?')this.value=''" onblur="if(this.value == '')this.value='Hva tenker du på?'" /> 
      <input type="submit" value="" name="profileUpdateButton" id="profileUpdateButton" /> 
     <?php echo form_close(); ?> 
    </div> 
+0

アラートしようとしました$( '#statusUpdateFo rm ')。clickイベントハンドラにserialize()しますか? – Dalen

+0

'var_dump($ _ POST)'を実行したときに何が起こったのですか?デフォルトのデバッグツールの1つである必要があります:http://php.net/manual/en/function.var-dump.php –

+0

var_dumpに配列(0){}があり、アラート$( '#statusUpdateForm') .serialize()私にhttp://prntscr.com/2ecwhを与える – Dexty

答えて

2
は、フォームの 名前を設定して、あなたは、statusUpdateFormの IDを意味している $('#statusUpdateForm')を選択した...これに

<div id="statusUpdate">     <!-- Use ID not NAME here |v| --> 
    <?php echo form_open(base_url() . 'profile/statusUpdate', array('id' => 'statusUpdateForm')); ?> 
     <input type="text" value="Hva tenker du på?" name="profileUpdate" id="profileUpdate" onfocus="if(this.value == 'Hva tenker du på?')this.value=''" onblur="if(this.value == '')this.value='Hva tenker du på?'" /> 
     <input type="submit" value="" name="profileUpdateButton" id="profileUpdateButton" /> 
    <?php echo form_close(); ?> 
</div> 

をあなたのHTMLマークアップを変更し

名前属性ではありません...