Jquery MVC Ajax将数据发布到控制器始终为空

Jquery MVC Ajax将数据发布到控制器始终为空,jquery,ajax,asp.net-mvc,Jquery,Ajax,Asp.net Mvc,我有一个函数,它使用AJAX将下拉列表的值发布到控制器,然后控制器返回依赖于所选值的数据 问题是它总是不返回任何内容,我可以在开发人员工具中看到值作为表单数据发布{“PropertyType”:“House”} 当调试PropertyType时,当控制器被触发时,总是null,但似乎看不出原因 阿贾克斯 试试看这是否管用 function PropertyStyleFilter() { var propertyType = $('#PropertyType').val();

我有一个函数,它使用AJAX将下拉列表的值发布到控制器,然后控制器返回依赖于所选值的数据

问题是它总是不返回任何内容,我可以在开发人员工具中看到值作为表单数据发布
{“PropertyType”:“House”}

当调试
PropertyType
时,当控制器被触发时,总是
null
,但似乎看不出原因

阿贾克斯

试试看这是否管用

function PropertyStyleFilter() {

        var propertyType = $('#PropertyType').val();

        var Url = '@Url.Action("PropertyStyleFilter")';
        //var Url = '/Case/CaseDetails/PropertyStyleFilter/' + PropertyType;
        console.log("Property Type:" + PropertyType);

        $.ajax({
            url: Url,
    dataType: 'json',
            data: { PropertyType: propertyType },
            type: 'POST',
            success: function (data) {
                $("#PropertyStyle").html(""); // clear before appending new list

                $("#PropertyStyle").append($('<option></option>').val("").html("Select Property Style..."));
                $.each(data, function (i, style) {
                    //console.log(i, site);
                    $("#PropertyStyle").append($('<option></option>').val(style.Value).html(style.Text));
                });
                if (PropertyType != null) {
                    $("#PropertyStyle").val(PropertyType);
                }
            },
            error: function (__x, __h, __m) {
                console.log('ajax returned error', __m, __x, __h);
            }

        });
    }
function PropertyStyleFilter(){
var propertyType=$('#propertyType').val();
var Url='@Url.Action(“PropertyStyleFilter”);
//var Url='/Case/CaseDetails/PropertyStyleFilter/'+PropertyType;
log(“属性类型:“+PropertyType”);
$.ajax({
url:url,
数据类型:“json”,
数据:{PropertyType:PropertyType},
键入:“POST”,
成功:功能(数据){
$(“#PropertyStyle”).html(“”;//在追加新列表之前清除
$(“#属性样式”).append($(“”).val(“”.html(“选择属性样式…”));
$。每个(数据、函数(i、样式){
//控制台日志(i,站点);
$(“#PropertyStyle”).append($('').val(style.Value).html(style.Text));
});
if(PropertyType!=null){
$(“#PropertyStyle”).val(PropertyType);
}
},
错误:函数(\uuux,\uuuh,\uum){
log('ajax返回错误',\uu m,\uu x,\uu h);
}
});
}
如果可行,请尝试

function PropertyStyleFilter() {

        var propertyType = $('#PropertyType').val();

        var Url = '@Url.Action("PropertyStyleFilter")';
        //var Url = '/Case/CaseDetails/PropertyStyleFilter/' + PropertyType;
        console.log("Property Type:" + PropertyType);

        $.ajax({
            url: Url,
    dataType: 'json',
            data: { PropertyType: propertyType },
            type: 'POST',
            success: function (data) {
                $("#PropertyStyle").html(""); // clear before appending new list

                $("#PropertyStyle").append($('<option></option>').val("").html("Select Property Style..."));
                $.each(data, function (i, style) {
                    //console.log(i, site);
                    $("#PropertyStyle").append($('<option></option>').val(style.Value).html(style.Text));
                });
                if (PropertyType != null) {
                    $("#PropertyStyle").val(PropertyType);
                }
            },
            error: function (__x, __h, __m) {
                console.log('ajax returned error', __m, __x, __h);
            }

        });
    }
function PropertyStyleFilter(){
var propertyType=$('#propertyType').val();
var Url='@Url.Action(“PropertyStyleFilter”);
//var Url='/Case/CaseDetails/PropertyStyleFilter/'+PropertyType;
log(“属性类型:“+PropertyType”);
$.ajax({
url:url,
数据类型:“json”,
数据:{PropertyType:PropertyType},
键入:“POST”,
成功:功能(数据){
$(“#PropertyStyle”).html(“”;//在追加新列表之前清除
$(“#属性样式”).append($(“”).val(“”.html(“选择属性样式…”));
$。每个(数据、函数(i、样式){
//控制台日志(i,站点);
$(“#PropertyStyle”).append($('').val(style.Value).html(style.Text));
});
if(PropertyType!=null){
$(“#PropertyStyle”).val(PropertyType);
}
},
错误:函数(\uuux,\uuuh,\uum){
log('ajax返回错误',\uu m,\uu x,\uu h);
}
});
}

调试javascript时,是否设置了
propertyType
?另外,我认为没有必要在数据对象周围使用JSON.stringify(),只要
数据:{PropertyType:PropertyType},
将记录您是否可以同时添加
数据类型:'JSON'
内容类型:“application/JSON;charset=utf-8”
,然后再试一次?这是JSON.stringify()导致问题的原因…谢谢。调试javascript时,
propertyType
是否已设置?另外,我认为没有必要在数据对象周围使用JSON.stringify(),只要
数据:{PropertyType:PropertyType},
将记录您是否可以同时添加
数据类型:'JSON'
内容类型:'application/JSON;charset=utf-8',
然后重试?是JSON.stringify()导致了问题…谢谢。
function PropertyStyleFilter() {

        var propertyType = $('#PropertyType').val();

        var Url = '@Url.Action("PropertyStyleFilter")';
        //var Url = '/Case/CaseDetails/PropertyStyleFilter/' + PropertyType;
        console.log("Property Type:" + PropertyType);

        $.ajax({
            url: Url,
    dataType: 'json',
            data: { PropertyType: propertyType },
            type: 'POST',
            success: function (data) {
                $("#PropertyStyle").html(""); // clear before appending new list

                $("#PropertyStyle").append($('<option></option>').val("").html("Select Property Style..."));
                $.each(data, function (i, style) {
                    //console.log(i, site);
                    $("#PropertyStyle").append($('<option></option>').val(style.Value).html(style.Text));
                });
                if (PropertyType != null) {
                    $("#PropertyStyle").val(PropertyType);
                }
            },
            error: function (__x, __h, __m) {
                console.log('ajax returned error', __m, __x, __h);
            }

        });
    }