这是到目前为止我得到的。请阅读代码中的注释。它包含我的问题。
var customer; //global variable
function getCustomerOption(ddId){
$.getJSON("http://localhost:8080/WebApps/DDListJASON?dd="+ddId, function(opts) {
$('>option', dd).remove(); // Remove all the previous option of the drop down
if(opts){
customer = jQuery.parseJSON(opts); //Attempt to parse the JSON Object.
}
});
}
function getFacilityOption(){
//How do I display the value of "customer" here. If I use alert(customer), I got null
}
这是我的json对象的外观:
{"3":"Stanley Furniture","2":"Shaw","1":"First Quality"}
。我最终想要的是,如果我传递密钥3
,我想取回Stanley Furniture
,如果我传递Stanley Furniture
,我取回了3
。由于3
是customerId,而Stanley Furniture
是customerName,在我的数据库中。 最佳答案
如果该servlet已经返回JSON(如URL所示),则不需要在jQuery的$.getJSON()
函数中对其进行解析,而只需将其作为JSON处理。摆脱掉jQuery.parseJSON()
。这会使情况变得更糟。 getFacilityOption()
函数应用作$.getJSON()
的回调函数,或者您需要在function(opts)
(实际上是当前的回调函数)中编写其逻辑。
的JSON字符串
{"3":"Stanley Furniture","2":"Shaw","1":"First Quality"}
...按以下方式访问时将返回“Stanley Furniture”
var json = {"3":"Stanley Furniture","2":"Shaw","1":"First Quality"};
alert(json['3']);
// or
var key = '3';
alert(json[key]);
要了解有关JSON的更多信息,强烈建议阅读this article。要了解有关
$.getJSON
的更多信息,请检查its documentation。