簡體   English   中英

從PHP到javascript正確格式化json?

[英]Get correctly formatted json from php to javascript?

我有一個帶有tabled命名選項的數據庫。 在這張表中,我有3個字段

  1. int自動增量類型的id
  2. varchar類型的option_name
  3. varchar類型的option_value

假設我已將以下內容添加到記錄中

  1. '1', 'homepage_title', '家'
  2. '2','index_page_title','索引頁'

我有一個PHP腳本如下

<?php
header("Access-Control-Allow-Origin: *");
//set timezone becuase some servers are jsut wrong
define('TIMEZONE', 'Europe/Athens');
date_default_timezone_set(TIMEZONE);

//Connect & Select Database
mysql_connect("somehost","simeuser","somepass") or die("could not connect server");
mysql_select_db("somedbdb") or die("could not connect database");

function getOptions(){
    $sqldata = mysql_query("SELECT * FROM `options`");
    $rows = array();
    while($r = mysql_fetch_array($sqldata)) {
        $rows[$r['option_name']][$r['option_value']][]=$r['option_value'];
    }

    echo json_encode($rows);
}
getOptions();
?>

它起作用,因為腳本返回這樣的東西

{"homepage_title":{"Home":["Home"]},"index_page_title":{"index page":["index page"]}}

我確定不正確的行就是這一行

$rows[$r['option_name']][$r['option_value']][]=$r['option_value'];

我只是無法弄清楚我需要修復什么。 我的意思是調用javascript如下

$.get("http://localhost/test-app/get_app_settings.php",function(data){
    var json = JSON.parse(data);
    console.log(JSON.stringify(json));
    alert("homepage title was "+json['homepage_title']);
    alert("index page title was "+json['index_page_title']);
});

我得到了Object對象而不是我在homepage_title中預期的主頁以及我期望在index_page_title中的索引頁面。

我確信它真的很蠢,但我只能看到它。

你打算這樣做的意圖是什么?

$rows[$r['option_name']][$r['option_value']][]=$r['option_value'];

也許你想要這個?

$rows[$r['option_name']]=$r['option_value']; 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM