【发布时间】:2016-04-13 12:17:30
【问题描述】:
我正在尝试找出以下代码有什么问题:
$(".ReportScore").click(function () {
$.ajax({
type: "GET",
url: "/events/Tournaments/ReportScore",
success: function() {
location.reload();
},
error: function() {
alert("The scores were not recorded");
}
});
});
当我在栏中键入 url 时,它可以正常工作,但是当我尝试进行 ajax 调用时,我得到 404 Page not found 错误。
澄清一下,当我点击按钮时,我会弹出一个提示“分数未记录”的弹出窗口,而在开发人员工具上,我会收到一个脚本错误提示页面未找到。
我在可视化工作室中也有一个方法本身的断点,但该点永远不会被命中,因为该方法永远不会被调用。
服务器端代码:
public async Task<ActionResult> ReportScore()
{
var a = "abc"
}
var 永远不会命中一行。
编辑:
我有另一个来自同一个脚本的 ajax 调用,没有问题:
$("#InvitedMember").autocomplete({
source: function (request, response) {
$.ajax({
type: "POST",
url: "/events/Teams/Members",
data: { id: $("#InvitedMember").val() },
success: function (data) {
response($.map(data, function (item) {
return {
label: item.CustomUrl, value: item.CustomUrl
};
}));
}
});
},
create: function () {
$(this).data('ui-autocomplete')._renderItem = function (ul, item) {
return $('<li>')
.append("<a><div>" + item.label + "</div></a>")
.appendTo(ul);
};
},
select: function (event, ui) {
//you can access ui.item to get the selected item object.
$("#InvitedMember").val(ui.item.value);
return false;
}
});
【问题讨论】:
-
请提供您的服务器端代码和您要使用浏览器的完整网址
-
尝试将 [HttpGet] 属性添加到方法中。该方法位于哪个控制器中?检查它是否位于 Tournaments 而不是 TeamsController
-
@Nigrimmist get 属性没有帮助。
标签: javascript asp.net-mvc-5 asp.net-ajax