我有麻煩找出如何設置我的Web服務來消化JSON數據變量。 我想要在POST請求中發送數據並將其分配給類。C#webservice消化JSON數據到類
我的功能(見下文)類始終爲空OrderReprint 所以我錯過了一大步。任何幫助都會很棒。
public Boolean Test(OrderReprint oreprints)
{
Debug.WriteLine(OrderReprints.seq1);
Debug.WriteLine(OrderReprints.client);
Debug.WriteLine(OrderReprints.Filename);
Debug.WriteLine(OrderReprints.formcode);
Debug.WriteLine(OrderReprints.jobnum);
Debug.WriteLine(OrderReprints.userid);
Debug.WriteLine(OrderReprints.seq1);
return true;
}
我的界面這個樣子的
[OperationContract]
[WebInvoke(Method = "POST",
RequestFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.WrappedRequest,
ResponseFormat = WebMessageFormat.Json,
UriTemplate = "Test")]
Boolean Test(OrderReprint oreprints);
我的數據合同類看起來像這樣
[DataContract]
public class OrderReprint
{
[DataMember]
public string Filename;
[DataMember]
public string seq1;
[DataMember]
public string jobnum;
[DataMember]
public string formcode;
[DataMember]
public string userid;
[DataMember]
public string client;
}
我的電話Ajax調用是這樣的:
$.ajax({
beforeSend: function (xhrObj) {
xhrObj.setRequestHeader("Content-Type", "application/json");
xhrObj.setRequestHeader("Accept", "application/json");
},
type: "POST",
url: URL,
dataType: "text",
data: JSON.stringify(params),
}).then(function (data) {
if (data.results) {
/* (done something here*/
}
}).fail(function (e) {
errorAlert('Process Job', 'Error retriving job informaiton!');
});
試試這個:'數據:{oreprints:JSON.stringify(PARAMS)}' –
您可以發佈樣本JSON呢? –
你能從界面發佈DataContract代碼嗎? – Aaron