gpt4 book ai didi

javascript - 如何在另一个函数中使用一个 JavaScript 函数接收的 JSON 对象?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:28:31 26 4
gpt4 key购买 nike

我编写了一个通过 ajax 调用返回 JSON 格式的函数。 JSON 是

 {
"communication": [{
"communication_name": "None",
"communication_id": "1"
}],
"hardware": [{
"hardware_name": "XXXXXXXX",
"hardware_id": "6"
}],
"Sofware": [{
"software_name": "XXXXXX",
"software_id": "3"
}, {
"software_name": "XXXXXXXXXXXXX",
"software_id": "4"
}]
}

这是获取此响应的 JavaScript 函数:

function getModelData(model_id, model_name){

var xmlHttp = createXmlHttpRequestObject();

try {
xmlHttp.open("GET", "ajaxmodel_new.php?model_id="+model_id,true);
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4 && xmlHttp.status==200){
var myJSONObject = JSON.parse(xmlHttp.responseText)
//alert(myJSONObject.communication[0].communication_name)
}
}
xmlHttp.send(null);

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

它正在获得正确的响应。还有另一个功能是在选定的下拉列表中获取选定的值:

<div id="selected_options">
<select onchange="test()" id="selected_opt">
<option value="0" selected>-Select-</option>
<option value="1">Communication</option>
</select></div>
function test() {
var get_id = document.getElementById('selected_opt');
var result = get_id.options[get_id.selectedIndex].value;
alert(result);
}

目标

我需要在 test() 函数中使用 JSON 响应,即 myJSONObject。我如何在 test() 函数中使用在 getModelData() ajax 函数中获得的 var myJSONObject

最佳答案

我在解析 JSON 对象时采用了不同的方法。

我从 PHP 端创建对象并将其存储在一个变量中,比如 $JSONvar。现在我 echo 变量。

然后在客户端,这就是我拦截对象的方式。

var JsonObject = {};
var http = new XMLHttpRequest();
http.open("GET", url, true); //url is the url echoing the jsonString
http.onreadystatechange = function () {
if (http.readyState == 4 && http.status == 200) {
var responseTxt = http.responseText;
myJSONObject = eval('(' + responseTxt + ')');
test(myJSONObject);
}
}
http.send(null);

您的测试函数应该能够像这样访问对象,

function test(myJSONObject) {
var object = myJSONObject;
alert(object);
var get_id = document.getElementById('selected_opt');
var result = get_id.options[get_id.selectedIndex].value;
alert(result);
}

关于javascript - 如何在另一个函数中使用一个 JavaScript 函数接收的 JSON 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5428519/

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