我有mvc 4控制器方法来使用AJAX方法获取一些数据。不幸的是它不起作用。我在成功和错误领域做了一些事情。我需要知道这段代码中的错误。
Ajax方法:
$(function () {
$('#btnSave').on('click', function (event) {
event.preventDefault();
debugger;
var country = $('#cnname').val();
var customerID = $('#CustomerId').val();
if (country == "United Kingdom") {
if (800 <= $('#SrcAmt').val() < 2000) {
$.ajax({
type: 'GET',
url: '/CustomerIdentity/IdentityList',
data: { 'customerId': customerId },
success: function (data) {
alert('ok');
},
error: function (event) {
alert('fail');
}
});
}
}
});
});
MVC控制器:
public JsonResult IdentityList(int customerId)
{
var customeridentity = db.CustomerIdentity.Include(c => c.Customer).Include(c => c.CountryIssued)
.Where(item => item.CustomerId == customerId);
if (customeridentity.Count() > 0)
{
return Json(true, JsonRequestBehavior.AllowGet);
}
else
{
return Json(false, JsonRequestBehavior.AllowGet);
}
}
答案 0 :(得分:0)
我从未见过你以前遇到的问题。可能有3种问题:
<强> 1。逻辑错误 您是否完全检查了代码,并完全调试了它?你有意外的输出吗? 如果没有则转移到第二个错误。
<强> 2。 HTTP方法的类型
我建议您使用POST
而不是GET
,因为据我所知,您将一些数据发送到ASP WebMethod。
第3。 ASPX文件的路径
尝试删除反斜杠(/
)作为/CustomerIdentity/IdentityList
的第一个字符,因此它应为CustomerIdentity/IdentityList
奇怪的情况是,当您的浏览器仍包含以前的javascript代码时,请尝试使用隐私浏览标签运行您的代码。
答案 1 :(得分:0)
您应该使用@ Url.Action(“action,”controller“)来获取控制器操作的严格路径,以及操作网址错误的可能性
在Ajax调用的url属性中,这样做:
url:Url.Action("action,"controller")