1

私はJSONについてあまり知りません.JSONで何かをajaxに返し、何度も試してみましたが、jqueryを使用して表示することはできませんでした.
私がやろうとしているのは、ユーザーのプロファイルをロードしながら、JSON オブジェクトを使用して ajax にデータを送信することです。

[更新] php コード:

<?php include(dirname(__FILE__). '/../script/config.php');
session_start();
$id = $_POST['u_search'];
$email = $_SESSION['Email'];

foreach($pdo->query("SELECT * FROM Users WHERE ID='$id'") as $row) {
    //$firstname = $row['FirstName'];
    //$lastname = $row['LastName'];
    $pic = $row['Pic'];
    $id = $row['ID'];
    $u_email = $row['Email'];
}
$firstname = "Jason";
    $lastname = "Born";
    $data = array("success"=> true,"inpt"=>"<p>Hello there! I am " . $firstname . " " . $lastname . "</p>");
    echo json_encode($data);
header("Content-Type: application/json");)
?>

<?php $pdo = null; ?>

更新された Ajax :

function op_prof(obj) {
    var value = obj.id;
    var dataString = "{'u_search':'"+value+"'}";
    $("#co_profile").show();
    $(".searchbox").val('');
    $("#usr_suggest").hide();

    $.ajax({
    type: "POST",
    url: '/script/profile.php',
    dataType: 'json',
    data: dataString,
    cache: false,
    success: function(data) {
        alert(console.log(data));
        alert(data);
        $("#co_profile").html(data.inpt).show();
        location.hash = 'profile' + 'id=' + dataString;
    }
  });
};

編集: を使用するdataType: 'json'と何もsuccess実行されませんが、削除すると実行されます..

編集:実行中のコードのdatatype: 'json'代わりに使用すると. 私は使用しました、それは「未定義」 編集と言っています:私は使用していますdataType: 'json'successalert(console.log(data));

//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js

4

3 に答える 3

1
var dataString = "{'u_search':'"+value+"'}";

dataType: 'json',
data: dataString,

編集:

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
于 2013-05-17T05:47:55.117 に答える
1

datatype:json を入力すると、 data:"" を json 文字列形式で送信する必要があり、サーバー側でも変数名が一致する必要があるため、送信した値を読み取ることができます。

例:

datatype:'json',
data : JSON.stringify({'u_search':'value'})

オブジェクトを文字列に変換するためにJSON.jsファイルを使用しました。

于 2013-05-17T05:41:59.677 に答える
0

これを試して。

$.post("/script/profile.php",{dataString:dataString},function(data){
                alert(console.log(data));
    alert(data);
    $("#co_profile").html(data.inpt).show();
    location.hash = 'profile' + 'id=' + dataString;
            }, "json");   // USing JSON here for the returned value from server...

profile.php ファイルでは、json 形式をデコードする必要があります。デコードされた json 値を dataString という名前の変数に収集することを忘れないでください

于 2013-05-17T07:42:04.210 に答える