Javascript 字符串[]通过Ajax和ASP.Net(MVC)
我的问题如下。 我尝试通过ajax解析一些数据,将数据传递给我的控制器: AJAXJavascript 字符串[]通过Ajax和ASP.Net(MVC),javascript,asp.net-mvc,ajax,arrays,Javascript,Asp.net Mvc,Ajax,Arrays,我的问题如下。 我尝试通过ajax解析一些数据,将数据传递给我的控制器: AJAX $.ajax({ type: "GET", url: "ParseOrganizaitonPath", data: { organizationPath: $('#organizationPath').val() }, success:
$.ajax({
type: "GET",
url: "ParseOrganizaitonPath",
data: {
organizationPath: $('#organizationPath').val()
},
success:
function (data) {
//data is from type string with value "System.string[]"
//but should be from type System.string[]
});
}
});
控制器
public string[] ParseOrganizaitonPath(string organizationPath)
{
List<string> organizations = organizationPath.Split('/').ToList();
return organizations.ToArray();
}
public string[]parseOrganizationnPath(字符串组织路径)
{
List organizations=organizationPath.Split('/').ToList();
返回组织。ToArray();
}
我正在访问控制器方法,其中的一切都很好,但是返回的数据(ajax部分,成功方法)只是一个字符串(“System.string[]”,data[0]S,data[1]y data[2]S…),而不是我想要的数据。(例如,如果我通过了输入“test/one”,我希望将结果数据[0]测试,数据[1]one)
希望你明白我的问题是什么
提前谢谢
Julian必须尝试使用JavaScriptSerializer吗?看看这个例子:
public string ParseOrganizaitonPath(string organizationPath)
{
List<string> organizations = organizationPath.Split('/').ToList();
System.Web.Script.Serialization.JavaScriptSerializer oSerializer =
new System.Web.Script.Serialization.JavaScriptSerializer();
return oSerializer.Serialize(organizations);
}
我找到了一种不用序列化(在c#站点上)和解析(在javascript站点上)的方法 只需使用从
控制器继承的JSON方法,并返回JsonResult
:
public JsonResult ParseOrganizaitonPath(string organizationPath)
{
List<string> organizations = organizationPath.Split('/').ToList();
return JSON(organizations);
}
对我来说就是这样
祝你好运
Julian因为这是一个转换成字符串的数组,所以这不是我要找的。抱歉。请看一下我的编辑,它显示了如何将字符串反序列化为数组。很酷,这很好,但是没有其他方法可以在不序列化返回值的情况下完成吗?
public JsonResult ParseOrganizaitonPath(string organizationPath)
{
List<string> organizations = organizationPath.Split('/').ToList();
return JSON(organizations);
}
$.ajax({
type: "POST",
dataType: "json",
contentType: "application/json; charset=utf-8",
url: "ParseOrganizaitonPath",
data: JSON.stringify(myDataObject),
success:
function (data) {
//use your data
});
}
});