我有一个web服务,它返回当前的字符串,我希望它返回一个字符串数组。 我的JS代码如下所示:从asp.net web服务返回字符串数组到jquery
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建议(只有相关部分)
table.RenderControl(tw);
string retVal = "[\"" + menuDIV + sb.ToString() + "\", \"" + currTitle + "\"]";
return retVal.ToString();
也许我在这里做一些错误的变更后的C#代码。
编辑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];
等
其中是您在代码中调用Web服务时的部分? –
我通过asp.net ajax调用它。 GetMenu.CreateMenu() –
为你的ASP.NET代码找到一个合适的.ToJson()库,因为你目前正在做的事情很容易出错 – keymone