【发布时间】:2011-03-25 04:23:59
【问题描述】:
我编写了一个通过 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?
【问题讨论】:
-
有史以来最长的 stackoverflow 语句
标签: javascript ajax json