2011-09-26 16 views
0

:uは私は私のコントローラおよびコントローラにactionparametter返す見ることができるようにAjaxリクエストの戻り値

var m = $.ajax({ 
     mtype: "GET", 
     url: '@Url.Action("GetBrandForValidation")', 
     data: { actionparameter: value }, 
     async: false, 
     cache: 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で非常にawfullので

+0

を解決し、[AJAXでの最初のAは単なる飾りではありません。 :)](http://www.pluralsight-training.net/microsoft/players/PSODPlayer.aspx?author=scott-allen&name=mvc3-building-ajax&mode=live&clip=0&course=aspdotnet-mvc3-intro) – bzlm

+0

唯一の問題私が見ることができるのは、ajaxコールでfolowingが見つからないということです。dataType: "json"、 – Steve

+0

@bzim - Ajax、そのSjaxではありません。 'async:false'を参照し、ブラウザのUIロックの素晴らしい世界へようこそ。 – Quentin

答えて

0

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

がで作られているAJAX呼び出しされているハード判断はいけませんJavaScript?その場合、mtypeは型にする必要があります。

+0

警告が返された場合は警告を返しますObjectオブジェクト – Timsen

0
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 
       } 

      } 
}); 

};