2
我知道在這裏問的問題完全一樣,但儘管我讀了它們,但我仍然錯過了一些東西,希望你能幫上忙。使用JQuery將對象傳遞給WCF服務
這很簡單,使用VS添加的WCF模板!
接口:
[OperationContract]
[WebInvoke(Method = "POST",
ResponseFormat = WebMessageFormat.Json,
RequestFormat= WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Wrapped)]
CompositeType GetDataUsingDataContract(CompositeType composite);
實現:
public CompositeType GetDataUsingDataContract(CompositeType composite){
if (composite == null)
{
throw new ArgumentNullException("composite");
}
if (composite.BoolValue)
{
composite.StringValue += "Suffix";
}
return composite;
}
使用Javascript:
$.ajax({
type: "POST",
url: "http://localhost:1545/Service1.svc/GetDataUsingDataContract",
data: JSON.stringify(compType),
contentType: "application/json; charset=utf-8",
dataType: "json",
processdata: true,
success: function (msg) {
$("#txtTest").val(message.BoolValue + " : " + message.StringValue);
},
error: function (xhr, errorMsg, thrown) {
$("#error").html(xhr.responseText);
}
});
我得到的錯誤是: 服務器在處理請求時遇到錯誤。異常消息是'值不能爲空。參數名稱:複合'。
所以這個值沒有被傳遞,當它到達WCF服務時它的值爲null。
*注:我已經打過電話說有一個字符串,返回複合類型的方法,工作正常*
THX在您的幫助
我有同樣的問題..你有沒有得到一個解決方案? – 2011-03-30 16:02:05
如果取消(composite.BoolValue)是否有同樣的問題 – 2011-09-21 11:33:09