2017-08-09 6 views
-1

以下のSQLクエリをJQuery/AJAX経由でページのロードを実行しようとしています。 dataType: 'json',と書くと投稿されず、コンソールログにエラーが表示されません。jsonが実行に失敗したためdataTypeを渡す

echo文を置くことで、SQLが実行されていることをテストしました。ラインがなければそれはエコー、ラインはエコーではありません。

<div id="updateDisplay"> 
//PHP loop will go here 
+0

を、あなたはどのコンソールのエラーを持っていますか? – Difster

+0

ああ、私は、感謝の前にそれを見る方法を知らなかった。 エラーがある: jquery.min.js:2 jQuery.Deferred例外:getQuestionsにReferenceError定義されていない:getQuestionsは私が書いたところ、上記のセクションを追加した場合 エラーが存在するだけで定義されていない を「私が追加しようとしました」それが無ければエラーなし 私はそれを宣言しても、エラーは発生しません。コメントは書式設定をサポートしていないので上記のような不具合があります。 – Ben

+0

そして今あなたは問題を解決する上でうまくいきます。 – Difster

答えて

0

私が正しくJSONと一致するように、SQLの出力を処理していなかった。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 

<script> 

$(document).ready(function() { 
    //Load Questions 
    var getQuestions= true; 
    $.ajax({ 
     type: "POST", 
     url: "comment.php", 
     context: document.body, 
     data:{getQuestions:getQuestions}, 
     dataType: 'json', //<--This line here 
     success: function(data){ 
      $("#updateDisplay").html(data); 
     } 
    }); 
}); 

SQL(comment.php)

<?php 
    //connect to db 
    include 'connect.php'; 
    $getQuestions = $_POST['getQuestions'];; 
    if($getQuestions==TRUE){ 
    $sqlQuery = "SELECT * 
     FROM Questions 
     ORDER BY QuestionID DESC"; 
    $runQuery = mysql_query($sqlQuery) or die(mysql_error()); 
    echo 'Test echo'; 
    echo json_encode($runQuery); 
} 

後、私は結果を配置するDIVを持っています。また、私のJSONコール修正するために必要

固定SQL

$runQueryArray=array(); 
$sqlQuery = "SELECT * 
FROM Questions 
ORDER BY QuestionID DESC"; 
$runQuery = mysql_query($sqlQuery) or die(mysql_error()); 
while (($row = mysql_fetch_array($runQuery, MYSQL_ASSOC)) !== false){ 
    $runQueryArray[] = $row; 
} 
    echo json_encode($runQueryArray); 
} 

$(document).ready(function() { 
    var getQuestions= true; 
    $.ajax({ 
     type: "POST", 
     url: "comment.php", 
     context: document.body, 
     data:{getQuestions:getQuestions}, 
     dataType: 'JSON', 
     success: function(JSON){ 
      $.each(JSON,function(i,val){ 
       $('#updateDisplay').append('<p>QuestionID: '+ val.QuestionID + ' Title: '+ val.Title+ ' Description: '+ val.Description+' Date Created: '+val.DateCreated+'</p><p><button type="submit" class="postReply" value='+val.QuestionID+'>Reply</button></p>'); 
      }); 
     } 
    }); 
}); 
関連する問題