簡體   English   中英

Ajax請求返回值

[英]Ajax request return value

我對我的控制器操作進行了Ajax調用,如下所示:

var m = $.ajax({
        mtype: "GET",
        url: '@Url.Action("GetBrandForValidation")',
        data: { actionparameter: value },
        async: false,
        cache: false
});

如您所見,我將actionparametter返回給我的控制器,控制器必須返回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調用是用JavaScript進行的嗎? 如果是這樣,則mtype應該是type。

var checkBrands = function(value, colname) {  
$.ajax({
            mtype: "GET",
            url: '@Url.Action("GetBrandForValidation")',
            data: { actionparameter: value },
            async: false,
            cache: false,
            success: function(data){
                 if(data == 'm'){
                    //do something
                 }else{
                    //do something
                 }

            }
});

};

解決了

var checkBrands = function (value, colname) {

      var m = $.ajax({
          mtype: "type",
          url: '@Url.Action("GetBrandForValidation")',
          async: false,
          cache: false,
          data: { actionparameter: value }

      }).responseText;


      if (m == 'true'){
          return [true, ""];
      }
      else return [false, "Brand eksistere ikke"];

  };

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM