Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 字符串[]通过Ajax和ASP.Net(MVC)_Javascript_Asp.net Mvc_Ajax_Arrays - Fatal编程技术网

Javascript 字符串[]通过Ajax和ASP.Net(MVC)

Javascript 字符串[]通过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解析一些数据,将数据传递给我的控制器:

AJAX

$.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
                        });
                    }
        });