我有一个 Web 服务,当前返回一个字符串,我希望它返回一个字符串数组。 我的 js 代码如下所示:
function getMenu(menuID) {
$("#open").css('display', 'block');
$("#close").css('display', 'none');
$('#flash_container').flash({
swf: 'mainGallery.swf',
width: "100%",
height: 330,
wmode: "transparent",
quality: "high",
flashvars: { XMLFile: 'xml/' + menuID + '.xml' }
});
$("div#panel").slideUp("slow", function() {
var language;
if (getParameterByName('language') == 'en')
language = 1;
else
language = 0;
GetMenu.CreateMenu(menuID, language, OnGotMenu, OnFail, "XmlDocument");
});
}
function OnGotMenu(result) {
var lblOutput = document.getElementById("lblOutput");
lblOutput.innerHTML = result;
$(".MenuList a:last").removeAttr('border-left');
$("div#panel").slideDown("slow");
$("#open").css('display', 'none');
$("#close").css('display', 'block');
fleXenv.fleXcrollMain("panel_content");
}
现在我返回一个字符串。我想返回字符串[]。
我需要如何修改我的js代码才能使用这个数组?
编辑:这是@pukipuki提议的更改后的c#代码(仅相关部分)
table.RenderControl(tw);
string retVal = "[\"" + menuDIV + sb.ToString() + "\", \"" + currTitle + "\"]";
return retVal.ToString();
也许我在这里做错了什么。
编辑 2:更好的 C# 代码版本:
table.RenderControl(tw);
retArray[0] = menuDIV + sb.ToString();
retArray[1] = currTitle;
string retVal = jsSer.Serialize(retArray);
return retVal;
但我仍然没有得到可以访问的数组,例如:
var that = result[0];
var oranother = result[1];
等等
最佳答案
您应该以如下格式返回数据:
[ "array", "elements", "here" ]
然后您将能够通过结果建立索引。
关于jquery - 将字符串数组从 ASP.NET Web 服务返回到 jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6647713/