2012-04-09 53 views
0

我從來沒有使用ajax,我只是試圖看看這是否會從我的控制器調用方法,並給我想要的結果。 VS中的javascript調試器目前似乎沒有工作。這看起來正確嗎?正確調用jquery的動作?

$("form").submit(function() { 
      var hasCurrentJob = $.ajax({ 
       url: 'Application/HasJobInProgess/@Model.ClientId' 
      }); 
    }); 

控制器方法

public Boolean HasJobInProgress(int clientId) 
{ 
    return _proxy.GetJobInProgress(clientId).Equals(0); 
} 

更新

$("#saveButton").click(function() { 
     var hasCurrentJob = false; 
     $.ajax({ 
      url: '@Url.Action("HasJobInProgress","ClientChoices")/', 
      data: { id: @Model.ClientId }, 
      success: function(data){ 
       hasCurrentJob = data; 
      } 
      }); 
     if (hasCurrentJob) { 
      alert("The current clients has a job in progress. No changes can be saved until current job completes"); 
     } 
    }); 

回答

5

嘗試調用的操作方法時,使用Url.Action HTML輔助方法。這會爲您提供操作方法的正確網址。您不必擔心有多少../要添加/

$(function(){ 
    $("form").submit(function() { 
    $.ajax({ 
     url: '@Url.Action("HasJobInProgess","Application")', 
     data: {clientId: '@Model.ClientId'}, 
     success: function(data) { 
     //you have your result from action method here in data variable. do whatever you want with that. 
     alert(data); 
     } 
    }); 
    }); 
}); 
+1

應該注意的是,數據值的名稱應該與操作中的參數匹配。所以要匹配atbyrds行動,它應該是數據{clientId:...} – 2012-04-09 20:54:17

+0

@PeterDavidsen:謝謝。我錯過了。我現在修好了。 – Shyju 2012-04-09 20:56:03

+0

@Shyju在這種情況下像迴歸一樣警覺工作? – 2012-04-09 20:56:35