2012-03-19 14 views
0

私はこのAJAXは、MVC方式渡していないパラメータを取得

function MonitorLoadStatus(loadId) { 
    var url = 'LoadAdmin/GetLoadStatus/' + loadId; 
    $.get(url, function (data) { 
     if (data != "complete") {     
      $("img[id =" + loadId + "]").show(); 
      window.setTimeout(function() { 
       MonitorLoadStatus(loadId); 
      }, 1000); 

     } 
     else { 
      $("img[id =" + loadId + "]").hide(); 
     }; 
    }); 
} 

と渡されている。この

public ActionResult GetLoadStatus(string loadId) 
    { 
     // check some thing and return stuff 
     return Content(currentProgress); 
    } 

上記方法にLOADIDように見えるMVC方式のように見えますjqueryの機能を持っていますjqueryのgetメソッドからnullを返します。正確に何が間違っているのですか

+0

はあなたのloadIdが有効です。console.log(loadId)を実行しようとしましたか? $ .get()メソッドの前に...? –

+0

はい$ .get()メソッドの前にloadIdが正しく渡されています – user1277899

答えて

1

最後に/{loadId}を持つGlobal.asaxにルートがあることを確認してください。あなたはそれに応じloadId更新あなたのルート定義を使用したい場合は

public ActionResult GetLoadStatus(string id) 
{ 
    // check some thing and return stuff 
    return Content(currentProgress); 
} 

:パラメータは、ご使用のコントローラのアクションでidと呼ばれるべきであることを意味

routes.MapRoute(
    "Default", 
    "{controller}/{action}/{id}", 
    new { controller = "Home", action = "Index", id = UrlParameter.Optional } 
); 

:私は、デフォルトルートはこのようになっていることを思い出させます。

関連する問題