我只想创建一个动态 URL。我正在调用 listServices 方法,它按预期工作,而我从 listService 调用的 getPortNumber 不起作用。我在 getPortNumber 方法中添加了错误点。我得到了 domainValue 的值,但我无法在 $(document).ready(function() 之后进行调试。控件直接返回 portNumber,在最终的 URL 中,我得到的端口号值未定义。我检查并验证了 port_url (json 文件)。我的 json 文件看起来像这样
{
"servers": [
{
"listeningPort": "6080",
"shutdownPort": "8180",
"redirectPort": "8443",
"sslPort": "8443",
"openWirePort": "61610",
"jmxPort": "9332",
"category": "Test A"
}
}
我被击中了。我希望这个问题不是因为从另一个方法调用 javascript 方法。
function getPortNumber()
{
var portNumber;
var domainValue = $("#domain").val();
$(document).ready(function() {
$.getJSON(port_url, function(result) {
$.each(result, function() {
$.each(this, function(k, v) {
if (v.category == domainValue) {
portNumber = v.listeningPort;
return false;
}
});
});
});
});
return portNumber;
}
function listServices()
{
$(document).ready(function() {
$("#list").text("");
var jList = $("#list");
var listOfServers = $("#servers").text();
var serverArray = listOfServers.split(",");
for (var i = 0; i < serverArray.length; i++)
{
var port = getPortNumber();
var tempURL = "http://"+serverArray[i].trim().toLowerCase()+".javaworkspace.com:"+port+"/services/listServices";
jList.append("<li><a href="+tempURL+" target='_blank'>"+tempURL+"</a></li>");
}
});
}