Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.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
Asp.net mvc 结果什么都不是_Asp.net Mvc_Json - Fatal编程技术网

Asp.net mvc 结果什么都不是

Asp.net mvc 结果什么都不是,asp.net-mvc,json,Asp.net Mvc,Json,我正在使用这段代码访问我的服务器(MVC),这段代码可以正常工作。在结果“data”({“Id”:30,“Description”:“Samples Photos”,“Name”:“First Galery”})中,我尝试获取属性数据 JavaScript $(function () { $('#UserGaleries_').change(function () { try { if ($(this).val() ==

我正在使用这段代码访问我的服务器(MVC),这段代码可以正常工作。在结果“data”({“Id”:30,“Description”:“Samples Photos”,“Name”:“First Galery”})中,我尝试获取属性数据

JavaScript

 $(function () {
        $('#UserGaleries_').change(function () {
            try {

                if ($(this).val() == -1) {

                    $('#NameGaleriesEdit').val('');
                    $('#DescriptionGaleriesEdit').val('');

                }
                else {
                    $.post('/UserGaleries/ChangeCategorie',
                        { selectedID: $(this).val() },
                        function (data) {
                            alert(data.Name); //Nothing
                            $('#NameGaleriesEdit').val(data.name);
                            $('#DescriptionGaleriesEdit').val('asdf');

                        });
                }
            } catch (e) {
                alert(e);
            }

        });
    });
MVC

当您使用
post()
方法而不指定预期的内容类型时,
数据将只是一个包含JSON的字符串(与JavaScript对象相反)。执行
警报(数据)
以验证

把那篇文章改写成

$.ajax({
    url:'/UserGaleries/ChangeCategorie',
    data:{ selectedID: $(this).val() },
    method:"POST",
    dataType:"json",
    success:function (data) {
        alert(data.Name);
    }
});

或者,您可以使用
$.getJSON()
,但我不确定是否可以让它执行POST请求。

您可以尝试将$.POST()中的数据类型设置为“json”。检查[文档]中的示例

它也是
data.Name
而不是
data.Name

大概是这样的:

$.post('/UserGaleries/ChangeCategorie',
              { selectedID: $(this).val() },
              function (data) {
                            alert(data.Name);
                            $('#NameGaleriesEdit').val(data.Name);
                            $('#DescriptionGaleriesEdit').val('asdf');

              }, "json");

重要建议:用于检查应用程序服务器的确切响应。

尝试使用其他方式访问数据。使用数据[“Name”]

在返回JSON数据后,您还可以使用
JSON解析数据。解析(结果)

您的ChangeCategories操作方法需要HttpPostattribute@Jon. 这是不正确的。我不知道JavaScript的奥秘,但你试过调用data().name吗?它看起来像是区分大小写的问题:
data.name
data.name
?我认为这不会有任何区别。。。。如果数据类型为json,则data[“Name”]和data.Name应相同。
$.post('/UserGaleries/ChangeCategorie',
              { selectedID: $(this).val() },
              function (data) {
                            alert(data.Name);
                            $('#NameGaleriesEdit').val(data.Name);
                            $('#DescriptionGaleriesEdit').val('asdf');

              }, "json");