gpt4 book ai didi

javascript - JSON 到 Javascript

转载 作者:行者123 更新时间:2023-11-30 13:34:36 25 4
gpt4 key购买 nike

我正在尝试使用 JSON,我正在从服务器获取信息,所以我编写了这个 PHP 文件:

     include("db_connect.php");

mysql_connect($host,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");

$result = mysql_query("SET NAMES utf8");
$query = "SELECT * FROM models WHERE models.product_id='".$product_selected."'";
$result = mysql_query($query);
$json_object = "{ \"model\": [";

while($result_row = mysql_fetch_row($result)) {
$json_object .= " {\"model_name\" : \"".$result_row[1]."(".$result_row[2].")";
$json_object .= "\"},";

}
$json_object = substr($json_object,0,strlen($json_object)-1);
$json_object .= " ]};";

echo json_encode($json_object);

?>

PHP 文件的输出是这样的 JSON 格式:

{ "model":
[
{"model_name" : "xxxxx "},
{"model_name" : "xxxxx "},
{"model_name" : "link2(U)"},
{"model_name" : "xxxxx)"}
]
};

但是我在 Ajax 中得到这样的响应:

var my_JSON_object = {};
var xmlHttp = createXmlHttpRequestObject();
try {
xmlHttp.open("GET", "ajaxproduct_new.php?product_id=" product_id,true);
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200){
my_JSON_object = JSON.parse( xmlHttp.responseText );

alert(my_JSON_object.model[0].model_name);
}
}
xmlHttp.send(null);

} catch (e){
alert("Can't connect to server:\" e.toString());
}

但是当我对 my_JSON_object.model[0].model_name 进行警报时,它显示错误为my_JSON_object.model 未定义。

为什么会这样?我已经尝试了所有的东西。谁能告诉我一下?

最佳答案

您正在创建一个看起来像 JSON 的字符串并将其传递给 json_encode,这是错误的。 json_encode 接受对象或数组。因此,创建一个数组而不是一个字符串:

$data = array();

while(($result_row = mysql_fetch_row($result))) {
$data = array('model_name' => $result_row[1] . '(' . $result_row[2] .')');
}

echo json_encode(array('model' => $data));

您的 JavaScript 代码看起来没问题。

关于javascript - JSON 到 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5402045/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com