0

投稿されたチュートリアルやその他の質問から、多くの方法を試しましたが、何もうまくいかないようです。jqueryを使用して、phpからdivと変数に送信されたデータを取得しようとしています。PHP側で配列を設定しましたが、すべて正常に動作しますが、jquery側では常に予期しない識別子エラーが発生するか、divが空白のままであるか、またはその両方です

var var_numdatacheck  = <?php echo $datacheck; ?>;
  var var_rowtest = parseInt(var_numdatacheck);
 function waitupdate(){
 $.ajax({
          type: 'POST',
          url: 'update.php',
          data: {function: '3test', datacheck: var_rowtest},
         dataType: "json",
          success: function(check) {
            var data = JSON.parse(check);
                var_rowtest = data[id]; // sets the variable numcheck as the new id number            
                    $('#datacheck').html(data[0]); // I've confirmed data[0] has a value but the div is left blank


            }

  error: function(msg) {
     console.log(msg)// here i get an unexpected identifier error 
  }

        });
    }   


  $(document).ready(function()  {
     waitupdate();
  });

phpからの出力は

{"id":"4","0":"Name"}

ここに実際のphpコードがあります

<?php
require "dbc.php";

    $function = $_POST['function'];
    $datacheck = $_POST['datacheck'];
    $search="SELECT * FROM Feedtest ORDER BY id DESC";
    $request = mysql_query($search);
    $update= mysql_fetch_array($request);
    $updateid = $update['id'];
    $updatecheck = mysql_num_rows($request);
    $data = array();



    if ($function == $datacheck){
    echo $updatecheck;
    echo $datacheck;
    }

    if ($function == "3test" && $updatecheck > $datacheck )      {    
     $updatesearch="SELECT * FROM Feedtest WHERE id = '$updateid' ORDER BY id DESC";
    $updatequery = mysql_query($updatesearch);
    $check['id'] = $updateid;
    while ($row = mysql_fetch_array($updatequery)){
  ?>

 <?php $check[]= $row['First Name']; ?>
<?php
}

echo json_encode($check); 
} 
?>
</div>
</ul>
4

2 に答える 2

1

これはあなたのために働くでしょう、

var var_rowtest = data['id'];
var value= data[0];

変数var_rowtestを設定value し、必要に応じて div に入れます。

適切な構文ではないと思いvar_rowtest = data[id];ます。上記の構文を使用してください

于 2013-07-27T08:33:02.647 に答える
1

変数名を変更してみてください。$.ajax で宣言されたエラー関数が JS エラーをスローしました。

不要なもう 1 つのことは、JSON.parse です。「update.php」という PHP スクリプトが正しいヘッダーを返すようにしました。

<?php header('content-type: application/json');?>

このコードは機能します:

var numDataCheck = 1,
    rowTest = parseInt(numDataCheck);
function waitupdate() {
    $.ajax({
        type: 'POST',
        url: 'update.php',
        data: {function: '3test', datacheck: rowTest}, dataType: "json",
        success: function(data) {               
            rowTest = data.id;
            $('#datacheck').html(data[0]);  
        }
    });
}

$(document).ready(function() {
    waitupdate();
});
于 2013-07-28T03:32:34.103 に答える