2016-05-26 2 views
-2

json_encode()関数のデータをjqueryに渡したかったのです。そして成功すると、私は特定のdivをリロードしたかったのです。成功時にajaxコールにデータを渡す

トリガー:

<a id="js-delete-file" href="#" data-url="<?php echo site_url('document_items/remove/'. $value['id'].'/'. $value['filename']) ?>">Remove</a> 

PHP:

public function remove ($id=null, $filename) { 

    $dir = "_resources/docs/"; 
    if ($this->doc_item->remove($id)) { 
     unlink($dir.$filename); 
     $status = 'success'; 
     $msg = 'File successfully deleted'; 
    } else { 
     $status = 'error'; 
     $msg = 'Something went wrong when deleting the file, please try again'; 
     } 

     echo json_encode(array('status' => $status, 'msg' => $msg)); 
    } 

のjQuery:

$('#js-delete-file').click(function(e){ 

    var url = $(this).attr('data-url'); 
    $.ajax({ 
     type: 'POST', 
     url: url, 
     success: function(result) { 
     $('#uploaded-files').html(result); 
     }, 
    }); 
    }); 

私はボタンをクリックした後、それは私の代わりに実際のHTMLのこの{"status":"success","msg":"File successfully deleted"}を与えます。フィールドの状態

$.ajax({ 
     type: 'POST', 
     url: url, 
     dataType: "json", 
     success: function(result) { 
     if (result.status == 'success') { 
      $('#uploaded-files').html(result.msg); 
     } 
     } 
    }); 
+0

試してみてください。あなたは、あなたが望むもののサーバーサイド部分を行う必要があるように見えるいくつかのサーバーサイドコードを提供しました。あなたは私たちにクライアント側のコードを表示していません。どうしたの? – Quentin

+0

あなたのajaxコードはどこですか – Vinie

+0

私の編集を親切にチェックしてください。ありがとう! – claudios

答えて

1

使用のparamデータ型は、あなたがあなたの願望を述べてきました。この

$('#js-delete-file').click(function(e){ 

    var url = $(this).attr('data-url'); 
    $.ajax({ 
     type: 'POST', 
     url: url, 
     success: function(result) { 
     var data = JSON.parse(result); 
     $('#uploaded-files').html(data.msg); 
     }, 
    }); 
}); 
+0

O dataTypeが見つかりませんでした。ありがとう! – claudios

+1

'dataType'は、サーバーが間違ったcontent-typeを送信している場合にのみ重要です。 – Quentin

0

へのアクセスのための

関連する問題