WCF POST 通过 JQuery。如何在 JSON 中发送数组?
Posted
技术标签:
【中文标题】WCF POST 通过 JQuery。如何在 JSON 中发送数组?【英文标题】:WCF POST via JQuery. How to send an array inside a JSON? 【发布时间】:2016-03-21 05:08:20 【问题描述】:我想通过 POST 将 JSON 发送到使用 JQuery 的 WCF 服务。问题是我真的不知道如何正确发送这个带有对象数组的 JSON,所以我收到了 400 Bad Request。
这是 JSON 结构。如您所见,有一些字段和一组文件(名称及其 base64 正文)。问题是最后一部分。
"guid": "",
"title": "d",
"description": "d",
"category": "19",
"email": "emai@email.com",
"priority": "1",
"type": "2",
"typeText": "Soli",
"categoryText": "CU",
"subCategoryText": "TMóvil",
"files": [
"nameFile": "stack.txt",
"fileContent": "data:text/plain;base64,Y2xvd24="
]
这是发送 JSON 的代码:
$.ajax(
url: serviceUrl,
type: "POST",
data: JSON.stringify(params),
async: true,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) .....
error: function(data)....
)
这是我在服务器端的界面:
[OperationContract]
[WebInvoke(Method = "POST", UriTemplate = "NewRequest", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
NewRequestResponse NewRequest(NewRequestTO obj);
这是 NewRequestTO 类
[DataContract]
public class NewRequestTO
[DataMember]
public string guid get; set;
[DataMember]
public string title get; set;
[DataMember]
public string description get; set;
[DataMember]
public string category get; set;
[DataMember]
public string email get; set;
[DataMember]
public string priority get; set;
[DataMember]
public string type get; set;
[DataMember]
public string typeText get; set;
[DataMember]
public string categoryText get; set;
[DataMember]
public string subCategoryText get; set;
[DataMember]
public string files get; set;
问题是,我该如何处理这些信息?我必须使用什么结构?
提前致谢。
【问题讨论】:
【参考方案1】:这个:
"files": [
"nameFile": "stack.txt",
"fileContent": "data:text/plain;base64,Y2xvd24="
]
将相当于一个 IEnumerable 对象,其中对象具有属性 nameFile 和 fileContent。
例如
[DataMember]
public FileData[] files get; set;
public class FileData
[DataMember]
public string nameFile get; set;
[DataMember]
public string fileContent get; set;
【讨论】:
以上是关于WCF POST 通过 JQuery。如何在 JSON 中发送数组?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 WCF 自托管处理 Ajax JQUERY POST 请求
如何使用 post/put WCF RestFul Service