データを送信するためにjQueryのAJAXポストのフォーマット:WCFサービスに私は私のサービス契約で
[OperationContract(Name = "TreeViewData")]
[WebInvoke(Method = "POST",
BodyStyle = WebMessageBodyStyle.WrappedRequest,
RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json)]
TreeData[] TreeViewData(string RagId);
をツリーデータクラスは、単純な
public interface ITreeDataV1
{
string Id { get; set; }
string ParentId { get; set; }
string Text { get; set; }
string Value { get; set; }
}
[DataContract(Name = "TreeData",
Namespace = "http://xxx.com/2011/10/14/TreeDataV1")]
public class TreeData : ITreeDataV1
{
[DataMember(Name = "Id")]
public string Id { get; set; }
[DataMember(Name = "ParentId")]
public string ParentId { get; set; }
[DataMember(Name = "Text")]
public string Text { get; set; }
[DataMember(Name = "Value")]
public string Value { get; set; }
}
ですそして、私のサービスロジック自体に私が持っています:
public TreeData[] TreeViewData(string RagId)
{
// some code and return some array of TreeData
}
私はjqueryの$のアヤックスの要求を作成するときに私の問題があるとして:
$.ajax(
{
type: "POST",
url: "http://xxx/Retriever.svc/UI/TreeViewData",
data: {"RagId":"121"},
dataType: "json",
success: function()
{
alert('pop the champagne');
}
}
);
は、私は次の例外を取得 -
着信メッセージが予期しないメッセージ・フォーマット「生」を持っています。 の操作に必要なメッセージ形式は、 'Xml'、 'Json'です。これは のWebContentTypeMapperが バインディングで構成されていないためです。
私はほぼ間違いがありますが、リクエストのデータビットをどのようにフォーマットしたかが間違っています。
任意のポインタ?