[英]jQuery.ParseJson didn't return a value from mysql database
我有一個div,它將存儲從JSON解析的數據庫中的值
<div id='nsnt' class="huge"> </div>
我有一個getdata.php從mysqldb獲取數據
getdata.php
<?php
$objConnect = mysql_connect("localhost","xxxxxx","xxxxx") or die(mysql_error());
$objDB = mysql_select_db("musicstore");
$strSQL = "SELECT count(song_id) as cnt FROM song ";
$objQuery = mysql_query($strSQL) or die (mysql_error());
$intNumField = mysql_num_fields($objQuery);
$resultArray = array();
while($obResult = mysql_fetch_array($objQuery))
{
$arrCol = array();
for($i=0;$i<$intNumField;$i++)
{
$arrCol[mysql_field_name($objQuery,$i)] = $obResult[$i];
}
array_push($resultArray,$arrCol);
}
mysql_close($objConnect);
echo json_encode($resultArray);
?>
我在$ resultArray上使用var_dump可以完美地返回數據
在我的index.php上,我有一個jQuery函數從getdata.php返回數據並像這樣在<div id='nsnt' class="huge"> </div>
<script>
function getDataFromDb()
{
$.ajax({
url: "~/getdata.php" ,
type: "POST",
data: ''
})
.success(function(result) {
var obj = jQuery.parseJSON(result);
if(obj != '')
{
//$("#myTable tbody tr:not(:first-child)").remove();
$("#nsnt").empty();
$.each(obj, function(key, val) {
var m = val["cnt"];
$('#nsnt').append( m );
});
}
}
setInterval(getDataFromDb, 1000); // 1000 = 1 second
</script>
它什么也沒返回
我認為Success應該是ajax屬性之一,否則請使用.done()
,試試這個:
$.ajax({
url: "~/getdata.php" ,
type: "POST",
data: '',
success : function(result) {
var obj = jQuery.parseJSON(result);
if(obj != '')
{
//$("#myTable tbody tr:not(:first-child)").remove();
$("#nsnt").empty();
$.each(obj, function(key, val) {
var m = val["cnt"];
$('#nsnt').append( m );
});
}
}
});
要么
$.ajax({
url: "~/getdata.php" ,
type: "POST",
data: ''
}).done(function(result) {
var obj = jQuery.parseJSON(result);
if(obj != '')
{
//$("#myTable tbody tr:not(:first-child)").remove();
$("#nsnt").empty();
$.each(obj, function(key, val) {
var m = val["cnt"];
$('#nsnt').append( m );
});
};
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.