2016-04-10 14 views
0

javascript kullanarak uygulamak zorunda kaldım.Gövde ile modele gelen istek üzerine

Public Class RecommendedJobsData 
    Public Property searchedJobsList As List(Of JobInfo) 
    Public Property jobFromStorage As JobInfo 
    Public Property totalJobsCount As Integer 
    Public Property adType As AdType 

    Public Sub New() ' default constructor 

    End Sub 

    ' constructor with parameters 
    Public Sub New(searchedJobsList As List(Of JobInfo), jobFromStorage As JobInfo, totalJobsCount As Integer, adType As AdType) 
     Me.searchedJobsList = searchedJobsList 
     Me.jobFromStorage = jobFromStorage 
     Me.totalJobsCount = totalJobsCount 
     Me.adType = adType 
    End Sub 
End Class 

bu işleve bir mesaj isteği göndermek çalışıyorum:

var http = new XMLHttpRequest(); 

http.open("POST", url, true); 

//Send the proper header information along with the request 
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 

http.onreadystatechange = function() {//Call a function when the state changes. 
    if (http.readyState == 4 && http.status == 200) { 
     alert(http.responseText); 
    } 
} 
http.send(apiParams); 

başlık budur: Ben javascript kullanılan

<JsonpFilter()> 
Public Function GetToken(header As RequestHeader, body As RecommendedJobsData) As String 

    Return String.Empty 

End Function 

Bu sınıf var iyi geçti, ama vücut ..

Parametre alan yapıcı yerine varsayılan kurucuya girer ve daha sonra GetToken işlevinin gövde nesnesinde boş değerler vardır.

Bu apiParams:

enter image description here

Herhangi bir yardım takdir!

cevap

0

Olmak içerik türü değişti:

http.setRequestHeader("Content-type", "application/json"); 

Sonra gönderme işlevini değiştirdi:

http.send(JSON.stringify(apiParams)); 

Ve en önemli şey:

<FromBody()> nitelik içinde GetToken işlevi:

Public Function GetToken(header As RequestHeader, 
<FromBody()> body As RecommendedJobsData) 

System.web.http dosyasına bir başvuru eklemek için not alın.