2016-11-03 135 views
0

我有這個JavaScript片段:HTTP POST方法HTTP GET方法

$.ajax({ 
       type: "Post", 
       contentType: 'application/json', 
       url: "../api/Pointage/GetPointages", 
       data: JSON.stringify({ 
        laDate: DateConsultation, 
        lstcols: Collaborators, 
        lEquipe: equipe, 
        Type: 3, 
       }), 
       success: function (data) { 
        console.log(data); 
        call3(data); 
       } 
      }); 

服務方法的簽名如下:

[HttpPost] 
public List<ItemStatistiquesPointageMonth> GetPointages(Nullable<System.DateTime> laDate = null, List<Collaborateur> lstcols =null, Nullable<int> lEquipe = null, int Type = -1) 

當我撥打電話時,serive是無法達到!

那麼這個問題的原因是什麼?我該如何解決它?

+1

嘗試'方法'而不是'type' - 儘管我認爲jquery支持兩者(取決於jquery版本也許) –

+1

在這裏,正如我們在ajax調用中看到的,您正在傳遞數據槽體,但在方法中必須沒有聲明任何'[FromBody]',甚至如何以這種方式傳遞多個參數? –

+0

正如@Div指出的那樣,嘗試使用這些屬性創建模型,並將其作爲動作參數。 –

回答

1

創建一個模型類,它反映了對象,你在客戶端創建

public class dataModel 
{ 
    public Nullable<System.DateTime> laDate { get; set; } 
    public List<Collaborateur> lstcols { get; set; } 
    public Nullable<int> lEquipe { get; set; } 
    public int Type { get; set; } 
} 

然後將其添加到FromBody屬性的方法中

[HttpPost] 
public List<ItemStatistiquesPointageMonth> GetPointages([FromBody] dataModel data){} 
1

創建您的PARAMATERS模型,並把它傳遞給你的POST方法

[HttpPost] 
public List<ItemStatistiquesPointageMonth> GetPointages([FromBody] MyModel model) 

也使用dataType: "json"