2017-06-23 21 views
0

この質問を投稿する前に、私はここで検索して別の回答を得て、自分のニーズに合わないと思います。私がクリックしたときに、次のjsスクリプトはJSONデータが.html()を使用して表示されない

$("#update-details-btn").on('click', function() { 
     $.ajax({ 
      type: 'post', 
      dataType: 'json', 
      data: "confirmation="+get_data, 
      url: '../for_update_details', 
      success: function(data) 
      { 
       console.log(data); 
       $('div#update_details_body').html(data.results); 

を実行するためのボタンがあり、これはあなたが見ることができるようにデータがPHP関数

$data['results'] = NULL; 
$results = "<div class='form-group'>"; 
$results .= "<label for='document-type' class='col-sm-4 control-label'>Category</label>"; 
$results .= "</div>"; 
$data['results'] = $results; 
echo json_encode($data); 

から来ているコンテナ

<div id="update_details_body" class="modal-body"></div> 

ですjsから、data.resultsの内容を正確に出力するconsole.logを作成しましたが、.html()を使用してコンテナ内に置くと何も起こりません。ここで何が原因だろうか?私はこのコーディングを他の機能に対して行っていますが、このセクションだけが機能していません。

+0

'console.log'の前に' JSON.parse(data) 'する必要があるかもしれません。 – 31piy

+0

彼は 'dataType: 'json'、 ' – guradio

+0

を解析する必要はありませんあなたのdivにデータがバインドされていないことを確認してください、私は問題がクラス="モーダルボディ "のどこかに隠されていると思うでしょう – Rahul

答えて

1

コード:

<html> 
<head> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 
    $("#update-details-btn").on('click', function() { 
     alert("inside"); 
     $.ajax({ 
      type: 'post', 
      dataType: 'json', 
      url: 'php_file.php', 
      success: function(data) 
      { 
       console.log(data); 
       $('div#update_details_body').html(data.results); 
      } 
     }); 
    }); 
}); 
</script> 
</head> 
<style> 
.modal-body 
{ 
    margin: 0px; 
    padding: 0px; 
    width: 100px; 
    height: 100px; 
} 
</style> 
<body> 
<div id="update_details_body" class="modal-body"></div> 
<input type="button" id="update-details-btn" name="button" value="button"> 
</body> 
</html> 

PHPをコードがチャンクではない

0
var data = $.parseJSON(data); 

これを成功に追加してください。それが助けて欲しい!

+0

彼は 'dataType: 'json'、' – guradio

0

あなたの例からは、データをjsonに解析する必要はありません。単に$resultsとAjax成功にバインド

$("#update-details-btn").on('click', function() { 
     $.ajax({ 
      type: 'post', 

      data: "confirmation="+get_data, 
      url: '../for_update_details', 
      success: function(data) 
      { 
       console.log(data); 
       $('div#update_details_body').html(data); 

PHPエコー:

$data['results'] = NULL; 
$results = "<div class='form-group'>"; 
$results .= "<label for='document-type' class='col-sm-4 control-label'>Category</label>"; 
$results .= "</div>"; 
echo $results; 
+0

を解析する必要はありませんこんにちは、私はこれを試してみます –

0

をエコーjson_encodeする前に次の行を追加します。

header('Content-Type: application/json'); 
echo json_encode($data); 
関連する問題