Возвращаемое значение Ajax-запроса - PullRequest
0 голосов
/ 26 сентября 2011

У меня 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, так что не судите усердно

Ответы [ 3 ]

0 голосов
/ 26 сентября 2011
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
                 }

            }
});

};
0 голосов
/ 27 сентября 2011

решаемые

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"];

  };
0 голосов
/ 26 сентября 2011

Ajax-вызов выполняется в JavaScript? Если это так, mtype должен быть type.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...