0

基本的にデータベースにクエリを実行し、データをJSにポストするAJAXリクエストがありますが、個々のデータを印刷することはできません。

私のコードは次のとおりです。

$.ajax({
            type: 'POST',
            url: '_process/offerrespres.php',
            dataType: 'json',
            data: {
                msgid: msgid,
                usrid: usrid
            },
            success: function(){
                console.log(JSON.parse(data.pro_name));
                console.log(data.accept_decline);
            }
        });

PHP:

<?php
include_once 'connect.php';
if ($_POST) {
$msgid = mysql_escape_string($_POST['msgid']);
$usrid = mysql_escape_string($_POST['usrid']);  
$getmsgq = mysql_query("SELECT * FROM booking_requests WHERE receiver_id = '$usrid' AND msg_id = '$msgid'");
$getmsg_info = mysql_fetch_array($getmsgq); 
$data['success'] = true;
$data['date_sent'] = $getmsg_info['date_sent'];
$data['pro_name'] = $getmsg_info['pro_name'];
$data['accept_decline'] = $getmsg_info['accept_decline'];
}
header("Content-Type: application/json", true);
echo json_encode($data);
mysql_close();
?>

ご覧のとおり、私はこれを試しました:

console.log(JSON.parse(data.pro_name));
console.log(data.accept_decline);

コンソールのエラーには、「データが定義されていません」と表示されます。PHPファイルからの出力は正しく、どのようにすべきか、1つのデータを印刷できません。

4

2 に答える 2

3

コールバック関数が戻りデータを引数として受け入れていません

読み取る行success: function(){success: function(data){

また、 へのtrue呼び出しには は必要ありませんheader("Content-Type: application/json", true);。この関数のデフォルトのアクションはヘッダーを置き換えることなので、trueすでに暗示されています。この引数は、前の を置き換えたくない場合にのみ必要ですContent-Type。あなたのコードに違いはありません。ただのヒントです。

于 2013-02-11T13:25:45.690 に答える
0

成功関数でデータ変数を指定しませんでした。そのはず:

success: function(data){
   console.log(JSON.parse(data.pro_name));
   console.log(data.accept_decline);
}
于 2013-02-11T13:29:57.890 に答える