重複の可能性:
json文字列をjqueryに送り返す方法
myquery.phpを実行してから、JavaScript関数createChartControl内でこのphpコードの出力を使用する必要があります。以下は私の完全なコードです。問題は、アラートメッセージ(alert(returned_array)
)が表示されず、関数createChartControlが実行されないことです。myquery.phpを個別にテストしましたが、正常に動作します。
<script>
function updateList(){
$.ajax({
url: "myquery.php",
type: 'GET',
data: { query: "SELECT tm FROM schedule WHERE val='BT009';" },
dataType: 'json',
success: function (data) {
var returned_array = $.parseJSON(data);
alert(returned_array);
createChartControl('schedule', returned_array);
}
})
}
$(document).ready(function() {
updateList();
});
</script>
<script type="text/javascript" language="JavaScript">
function createChartControl(htmlDiv1,data)
{
//...
}
</script>
<?php
include_once 'include/connect_db.php';
$query = $_GET['query'];
$condb = connectDB();
$result=execute_query($query);
closeDB($condb);
$rows = array();
while($row = mysql_fetch_array($result)) {
$rows[] = $row['tm'];
}
return $rows;
?>
更新:それでも言う:あなたのajaxはちょうど失敗しました
function updateList(){
$.ajax({
url: 'myquery.php',
type: 'POST',
data: {'query': "SELECT tm FROM schedule WHERE val='BT009';" }
}).done(function(data) {
console.log(data);
// createChartControl('schedule', returned_array);
}).fail(function() {
console.log('Your ajax just failed');
});
}
myquery.php
<?php
include_once 'include/connect_db.php';
if (isset($_POST['query'])) {
$query = $_POST['query'];
echo($query);
$condb = connectDB();
$result=execute_query($query);
closeDB($condb);
$rows = array();
if ($result && mysql_num_rows($result)) {
while($row = mysql_fetch_array($result)) {
$rows[] = $row['tm'];
}
}
echo json_encode($rows);
}
?>