2017-07-14 23 views
0

コントローラーに渡すデータによって、ビューからコントローラーへのajax呼び出しがあります。次に、データはモデルに渡され、dbに挿入されます。それはすべて正しく動作します。しかし、私は私のajaxコール成功関数でいくつかのコードが動作していません。私はそれを動作させる方法を知らない。ビューコントローラーを呼び出した後にAjax成功関数が機能しない

$.ajax({ 
     type:"post", 
     dataType : "json", 
     url: "<?php echo base_url() ?>att_controller/updt", 
     data:{name:nam, age:ag, ids:id}, 
     success: function() 
     { 
      //code that i need to make work 
     } 
    }) 

私のコントローラ

public function updt(){ 
     $data['name']=$this->input->post('name'); 
     $data['age']=$this->input->post('age'); 
     $data['id']=$this->input->post('ids'); 
     $this->load->model("Att_model"); 
     $this->Att_model->updt($data); 


    } 

から

私のAJAX呼び出しは、私のモデル

public function updt($data) 
    { 

     $this->load->database(); 
     $name=$data['name']; 
     $age=$data['age']; 
     $id=$data['id']; 
     $this->db->query("update student set name='$name', age='$age' where id='$id'"); 
    } 

はこれを理解するための助けが必要です。 codeigniterを新しく追加しました

+0

成功関数のコードが実行されていないことを意味しますか?あなたはそこに警告を入れて結果を見ることができますか?問題が発生している関数内のコードの場合、なぜあなたの例から省略したのですか?あるいは、成功は全く呼び出されていないのでしょうか? – Eric

+0

私はアラートを試みた。それは動作しません –

+0

あなたは成功関数と同じ方法で、エラー関数を追加します。このようなものは、 エラー:function(jqXHR、textStatus、errorThrown){ アラート(textStatus + ':' + errorThrown); } – Eric

答えて

1

ファイルコントローラーとモデルの両方で応答を渡すのを忘れてしまいました。 ajaxコールではdataType:'JSON'と定義されているので、コントローラではデータをjsonフォーマットに変換して渡す必要があります。

public function updt(){ 
     $data['name']=$this->input->post('name'); 
     $data['age']=$this->input->post('age'); 
     $data['id']=$this->input->post('ids'); 
     $this->load->model("Att_model"); 
     $result['data'] = $this->Att_model->updt($data); 
     echo json_encode($result); 
} 

また、モデルの機能は次のようになります。

public function updt($data) 
{ 

     $this->load->database(); 
     $name=$data['name']; 
     $age=$data['age']; 
     $id=$data['id']; 
     $query = $this->db->query("update student set name='$name', age='$age' where id='$id'"); 
     return $query->result(); 
} 

これを確認して、問題が解決しない場合は教えてください。

+0

Thanx..It works ...今、私は共鳴を知っています。私はよりよい方法を見つけました。 ajaxからdataType部分を削除しました。 –

+0

@Anandhunadesh:このハードルからあなたを助けてうれしいです。 –

+0

ええ、あなたには.........小さな間違いは大きな問題を引き起こします...笑 –

関連する問題