2017-02-14 1 views
1

JSONを使用してPHPからブラウザにデータを送信したいとします。私はプロセスを理解していると思う - 下の私の例のコードを見てください。しかし、誰かがこれが正しい方法ではないと私に言った。私は3日間研究していますが、私の英語は貧しいので、私は答えを見つけたとは確信していません。json ajaxを正しく使用するには

私は何のために期待していますがJSONを受信して​​、そのようなdivのようなHTML要素にそれを注ぐ、とCSSを経由してそれにスタイルを与えるコードのサンプルである、など

私は本当にただの一例をしたいですどのように私はそれから学ぶことができ、自分自身のニーズのために自分自身を拡張することができますが、私はこのアプローチが正しいと悪いコードを書いたくないという自信がありません。

おかげ

Javascriptを

$(document).ready(function() { 
    $.ajax({ 
     type : 'POST', 
     url : 'server.php', 
     dataType:"json", 
     success : function (data) { 
      $("#orders").html(JSON.stringify(data)); 
     } 
    }); 
}); 

PHP

<?php 
    $db = new PDO('mysql:host=localhost;dbname=Contact', 'root', ''); 
    $statement=$db->prepare("SELECT * FROM myfeilds"); 
    $statement->execute(); 
    $results=$statement->fetchAll(PDO::FETCH_ASSOC); 
    $json=json_encode($results); 
    echo $json; 
?> 
+0

PHPデータベースクエリとそれに続く 'json_encode()'が適切に動作すると仮定すると、あなたは既に難しい部分を終えています。あなたが今必要とするのは、DOMを使用してJSONレスポンスをWebサイトの適切な場所に適切に配置することだけです。 success関数の中で 'data'を使って、異なるDOM要素の中に情報を入れてください。 – David

答えて

0

あなたの応答に返されるデータにJSON.stringifyを呼び出す必要はありません。このメソッドは、JavaScriptオブジェクトをJSON文字列に変換するためのものですが、PHPコードでJSON文字列を表示する必要があります。

だから、あなた返さJSONのように見えるが、通常はこのようなものでしょうかに依存します:

{"name":"Mike", "phone":"5551234", ...} etc 

だからあなたの成功コールバックで、あなたはこのようなものだろう:

$("#name").text(data.name); 
$("#phone").text(data.phone); 

など。

私は.text()メソッドを使用しています。スタイリングに関しては

$("#name").html("<p>" + data.name + "</p>"); 

、私はセットアップになります。あなたがやったが、あなたはおそらくあなたのJSON文字列はHTMLが含まれているか、あなたはそうのようなHTMLを書きたい場合を除きする必要がないので.htmlを()を使用することができますあなたのスタイルはあらかじめ用意されていますので、javascriptでこれを行う必要はありません。

しかし、何らかの理由であなたは、あなたが何か行うことができますする必要がある場合:助け

$("#name").css({"display":block","color": "#000"}); 

希望を。

+0

データは表示されているPHPコードに基づいて配列になります – charlietfl

関連する問題