我目前正在创建一个ASP.NET MVC项目,而我的AJAX脚本导致错误。我为发布这样一个特定的问题而道歉,但老实说,我已经被困在这里好几天了。
map(int,[x for x in map(operator.concat, str(a), str(b)) if x.isdigit()])
我的控制器目前属于ActionResult类型并返回视图。但是,我也试过返回任何内容(void)并返回一个JsonResult。这些变化都没有导致任何错误。
请有人按我正确的方向推动我,我的控制台没有错误。非常感谢任何帮助。
答案 0 :(得分:1)
您几乎总是可以直接使用更简单的$.post
帮助程序(包装$.ajax
),而不是$.ajax
。这是您的代码,已更新为使用$.post
:
$.post('@Url.Action("Update", "Home")',
{
ToUpdate : "1",
ID : "@variableWithinCode"
})
.done(function(response, textStatus, jqXHR){
console.log(response);
})
.fail(function(jqXHR, textStatus, errorThrown){
console.log(errorThrown);
});
您也可以使用Url帮助程序将URL注入Javascript,假设此代码位于视图中的<script>
标记中。
回应你的评论:
听起来你在事件处理程序中使用这个代码来获得某种“按钮”。如果是这种情况,你会想要在ajax调用之外捕获“this”上下文,如下所示:
$('some-selector').on('click', function(e){
var _this = $(this);
$.post('@Url.Action("Update", "Home")',
{
ToUpdate : "1",
ID : "@variableWithinCode"
})
.done(function(response, textStatus, jqXHR){
_this.find('i').toggleClass('glyphicon glyphicon-chevron-up').toggleClass('glyphicon glyphicon-down');
})
.fail(function(jqXHR, textStatus, errorThrown){
console.log(errorThrown);
});
});