2016-04-13 44 views
0

WCF ile AJAX kullanarak göndermek istediğim bir form var ve problem benim Modelimin ("İstemci") doldurulmamasıdır. Formu gönderdiğimde Hizmete ulaşır, ancak "İstemci" nin tüm alanları Boştur. Burada neyim eksik?WCF - Form bildirimi modele bağlanmadı

$("#myForm").on("submit", function (e) { 
var Type = "POST"; 
var Url = "Service.svc/GetUser"; 
var Data = JSON.stringify($(this).serializeArray()); 
var ContentType = "application/json; charset=utf-8"; 

$.ajax({ 
    type: Type, //GET or POST or PUT or DELETE verb 
    url: Url, // Location of the service 
    data: Data, //Data sent to server 
    contentType: ContentType, // content type sent to server 
    processdata: true, 
    success: function (result) { 
     $("#myForm").remove(); 
    }, 
    error: function (result) { 
     alert(result); 
    } 
}); 
}); 

iService:

[ServiceContract] 
public interface IService 
{ 
[OperationContract] 
[WebInvoke(Method = "POST")] 
void GetUser(Client client); 
} 
[DataContract] 
public class Client 
{ 
[DataMember(Name = "Name")] 
public string Name { get; set; } 
[DataMember(Name = "Phone")] 
public string Phone { get; set; } 
[DataMember(Name = "Email")] 
public string Email { get; set; } 
[DataMember(Name = "Message")] 
public string Message { get; set; } 
} 

Service.cs:

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] 
public class Service : IService 
{ 
public void GetUser(Client client) { } 
} 

cevap

0

çözüldü!

JSON nesnesi yerine bir JSON dizisi gönderdim! Form girişlerini alan ve jquery.serialize-object adı verilen bir nesne yaratan çok güzel bir araç buldum. Kullanarak kurabilirsiniz: Biçici yükleme jQuery Dizilimi Serialize Nesne

Umarım size yardımcı olur. kodunuzu Verilere göre bu

var input = {"client": { 
       "Name": $("#Name").val(), 
       "Phone": $("#Phone").val(), 
       "Email": $("#Email").val(), 
       "Message": $("#Message").val() 
      }}; 
    data: JSON.stringify(input), 

gibi

3

merhaba deneyin gönderme değerler hizmetine gönderilmez.

+0

Merhaba, stringify ne yapar? –

+0

, JavaScript değerini veya javascript nesnesini bir JSON dizesine dönüştürür. –