2012-05-13 12 views
9

div内にajaxレスポンスの値を表示しようとしています。そのため、ビューファイルに次のコードがあります。div内のAjaxレスポンス

(Ajaxは値を送信されている)
<script type="text/javascript" src="MY LINK TO JQUERY"></script> 

<script type="text/javascript"> 
    $(function(){ // added 
    $('a.vote').click(function(){ 
     var a_href = $(this).attr('href'); 

    $.ajax({ 
      type: "POST", 
      url: "<?php echo base_url(); ?>contents/hello", 
      data: "id="+a_href, 
      success: function(server_response){ 
          if(server_response == 'success'){ 
            $("#result").html(server_response); 
          } 
          else{ 
            alert('Not OKay'); 
           } 

         } 
    }); //$.ajax ends here 

    return false 
    });//.click function ends here 
    }); // function ends here 
</script> 

    <a href="1" title="vote" class="vote" >Up Vote</a> 
    <br> 
    <div class="result"></div>           

私コントローラー:

function hello() { 
       $id=$this->input->post('id'); 
       echo $id; 
      }  

今、私が達成しようとしています何server_response値(コントローラから送信されている値)を取得することですで私のビューファイル内には<div class="result"></div>があります。

私は次のコードを試しましたが、div内の値が表示されませんでした。

問題がどこにあるか教えてください。それはあなたがあなたのAJAX成功機能

$("#result").html(server_response);

+0

時間をかけて質問をしてください。 – gdoron

答えて

10

問題はあなたということです、<div id="result"></div>から<div class="result"></div>を変更してみてください混合引数はAjax success handlerです。最初にdataに戻り、あなたのスクリプトは戻って、textStatusに行きます。理論的には、「タイムアウト」、「エラー」、「変更されていない」、「成功」、または「パーサーエラー」となることがあります。しかし、successのtextStatusは常に成功します。しかし、alertにエラーを追加する必要がある場合は、errorハンドラを追加することができます。そしてyes、$( "#result")のセレクタをクラスに変更します。訂正されたコードは次のようになります。

$.ajax({ 
    type: "POST", 
    url: "<?php echo base_url(); ?>contents/hello", 
    data: "id=" + a_href, 
    success: function(data, textStatus) { 
     $(".result").html(data);  
    }, 
    error: function() { 
     alert('Not OKay'); 
    } 
});​ 
+0

'success'ハンドラ内のtextStatusは常に' success'です...そうではありませんか? – gdoron

+0

Hm。実用的でなければならない。しかしそれは文書化されています。私にチェックさせてください。 – VisioN

+0

だからこそ私の答えでそのコードを削除しました。 – gdoron

1

することはありません#result

+1

+1 :)あなたの答えも正しいです:)ありがとう –

4
success: function(server_response) { 
     $(".result").html(server_response); 
}​ 

<div class="result"></div> // result is the class 

をで参照しているセレクタは.resultどうあるべきかだから

+0

すべての返信が役に立ちます。 +1。 – VisioN

+0

@gdoron +1 :)あなたの答えはあまりにも正しいです:)ありがとう –

+0

@black_belt。私はしばらく微笑んだ。ありがとう... – gdoron

関連する問題