Ajax调用失败,因为参数太多
对msgcall方法的Ajax调用:Ajax调用失败,因为参数太多,ajax,asp.net-mvc,json,Ajax,Asp.net Mvc,Json,对msgcall方法的Ajax调用: PopAjaxPost('mesaj/popup/msgcall/' + i + '/' + $('input#mesajkategori').val(), mysarr, function (data) { if (data.Durum == '1') { $wrapper.html('<a href="javascript:void(0);" class="all">Mesaj</a><
PopAjaxPost('mesaj/popup/msgcall/' + i + '/' + $('input#mesajkategori').val(), mysarr, function (data) {
if (data.Durum == '1') {
$wrapper.html('<a href="javascript:void(0);" class="all">Mesaj</a><div class="preview"><div class="block"><strong>Gönderen:</strong>'
+ data.Data.Mesaj.Gonderen + '<br /><p>Sayın <strong>' + data.Data.Mesaj.Alici + '</strong></p><p>'
+ data.Data.Mesaj.Mesaj + '</p></div>' + (data.Data.Mesaj.SecenekId > 1 && !giden ? ('<input type="submit" value="Cevapla" onclick="mesajcevapla('
+ data.Data.Mesaj.MesajId + ');return false;" style="margin-bottom: 8px;">') : '') + '</div>');
}
else {
}
});
它不会使用提供的参数调用msgcall方法。如果删除+I+'/'
,它将调用msgcall方法。我做错了什么
从Route.config:
routes.MapRoute("MesajPopup", "mesaj/popup/{action}/{id}",
new { controller = "Mesaj", action = "Liste", id = UrlParameter.Optional });
routes.MapRoute("Mesaj", "mesaj/{action}/{id}",
new { controller = "Mesaj", action = "Liste", id = UrlParameter.Optional });
没有名为
pid
的附加参数的配置,因此您应该为此参数定义一个maproute
添加类似以下行的内容:
routes.MapRoute("Msg_Call", "mesaj/popup/{action}/{id}/{pid}",
new {
controller = "Mesaj",
action = "Liste",
id = UrlParameter.Optional,
pid = UrlParameter.Optional
});
是否有
pid
的url配置?我的意思是,在您的路由配置中,您是否定义了如下url路由:mesaj/popup/msgcall/id/pid
?我已经编辑了答案。我应该如何修改路由?我们不需要像“mesaj/popup/{action}/{id}{pid}”这样的pid吗?现在可以按预期工作了。萨奥尔·多斯塔姆!!
routes.MapRoute("Msg_Call", "mesaj/popup/{action}/{id}/{pid}",
new {
controller = "Mesaj",
action = "Liste",
id = UrlParameter.Optional,
pid = UrlParameter.Optional
});