[英]accessing php array in js using json_encode
我在代碼中使用php和JS。我的要求是我需要從my-sql數據庫中獲取值並動態顯示在下拉列表中。我在JS中填充下拉列表,但用php來獲取值(這是平常的事情) 。 因此,我面臨的問題是,一旦我從php代碼獲取值並使用json_encode對其進行編碼,以訪問JS中的數組,它就會向我顯示類似於[object Object]的值。
請幫助..謝謝。
示例代碼:-
<?php
$result=mysql_query("select Location from servicelist")or die (mysql_error());
while($row = mysql_fetch_array($result))
$output[]=$row;
$row=mysql_fetch_assoc($result);
$output[]=$row;
?>
<script language="javascript">
function addOption_list(selectbox){
<?php echo 'var month='.json_encode($output);?>
for (var i=0; i < month.length;++i){
addOption(document.drop_list.AreaList, month[i], month[i]);
//Once the value of the area will get selected we will call sub area based
//on the area selected from the db
}
addSubAreaList();
}
在PHP中mysql_fetch_assoc($result);
返回一個關聯數組,因此您在JavaScript中的month
變量將采用以下格式:
var month = [{field: 'value', otherField: 'value'}];
因此,您的循環需要使用以下內容:
var areaList = document.drop_list.AreaList;
for (var i=0, len = month.length; i < len; ++i){
addOption(areaList, month[i].field, month[i].otherField);
}
JavaScript中的對象類似於PHP中的“關聯數組”。 如果您有一個對象,並嘗試在控制台上編寫該對象,它將求值為字符串“ [object Object]”。 如果您想要正確的字符串表示形式,請使用JSON.stringify在您的JavaScript中再次對其進行JSON編碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.