【发布时间】:2011-09-26 08:07:59
【问题描述】:
我有一个对我的控制器操作的 Ajax 调用,如下所示:
var m = $.ajax({
mtype: "GET",
url: '@Url.Action("GetBrandForValidation")',
data: { actionparameter: value },
async: false,
cache: false
});
如您所见,我将 actionparameter 返回给我的控制器,控制器必须返回 true 或 false,这必须是我的“m”值,但我无法让它工作。有任何想法吗?
控制器代码:
public virtual JsonResult GetBrandForValidation(string actionparameter)
{
var vendorId = _service.GetVendorIdByUsername(GetUserName());
bool k;
var brands = _service.GetBrandsByVendor(vendorId);
var brand = new BrandsViewModel();
brand.BrandName = "Opret ny Brand...";
brands.Add(brand);
foreach (var brandsViewModel in brands)
{
if (brandsViewModel.BrandName == "Intet")
{
brandsViewModel.BrandName = "";
}
}
var list = brands.Select(s => s.BrandName);
if (list.Contains(actionparameter))
{
k = true;
}
else
k = false;
return Json(k,JsonRequestBehavior.AllowGet);
}
以及完整的功能代码:
var checkBrands = function(value, colname) {
var m = $.ajax({
mtype: "GET",
url: '@Url.Action("GetBrandForValidation")',
data: { actionparameter: value },
async: false,
cache: false
});
if (m == true)
return [true, ""];
else
return [false, "Brand eksistere ikke"];
};
我是个新手,在 javascript 方面非常糟糕,所以不要硬评
【问题讨论】:
-
我能看到的唯一问题是在 ajax 调用中缺少以下内容.. dataType: "json",
-
@bzim — 这不是 Ajax,它是 Sjax。请参阅
async: false,欢迎来到浏览器 UI 锁定的精彩世界。 -
也没有使用 json
标签: javascript asp.net-mvc ajax jqgrid