我正在将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>
}
答案 0 :(得分:1)
不要对网址进行硬编码,请尝试UrlHelper.Action
:
url: '@Url.Action("ChangeVisibility", "Questionnaire")'
其他一些事情......
而不是$(".visibility").attr("checked")
,请使用this.checked
。当用户选中复选框时,属性的值不会改变。
此外,这应该是post
请求,而不是get
。如果由于某种原因必须是get
,请使用ajax选项cache: false
。