在localhost上部署不适用于json请求

时间:2014-05-07 16:03:28

标签: jquery asp.net asp.net-mvc json iis-8

我正在将local.net的asp.net mvc 4网站部署到IIS 8(Windows 8.1 x64)。在Visual Studio 2012中,在调试模式下工作正常,但是当我部署到IIS 8时,ajax请求不起作用总而言之,我得到了一个404错误的请求。顺便说一下,我可以CRUD到数据库的任何时候不是一个json请求。任何建议??? !!!

这是我的javascript代码:

@section scripts{
    <script type="text/javascript">
        $(document).ready(function () {
            $(".visibility").click(function () {
                var visibility = $(".visibility").attr("checked");
                var visibilityBool;
                if (visibility == "checked")
                    visibilityBool = true;
                else
                    visibilityBool = false;
                $.ajax({
                    url: "/Questionnaire/ChangeVisibility",
                    type: "GET",
                    data: {
                        "id": $(".questionnaire > h3").attr("data-id"),
                        "visibility": visibilityBool
                    },
                    success: function (data) {
                    }
                });
            });

        });
    </script>
}

1 个答案:

答案 0 :(得分:1)

不要对网址进行硬编码,请尝试UrlHelper.Action

url: '@Url.Action("ChangeVisibility", "Questionnaire")'

其他一些事情......

而不是$(".visibility").attr("checked"),请使用this.checked。当用户选中复选框时,属性的值不会改变。

此外,这应该是post请求,而不是get。如果由于某种原因必须是get,请使用ajax选项cache: false