jQuery如何知道要返回的格式?例如,如果你返回IEnumerable,jQuery如何知道在成功回调中返回对象数组?或者如果JSON,同样的事情。你能指引我找一个关于它的链接,因为我似乎无法找到解释。
答案 0 :(得分:2)
在响应中有一个标题告诉响应包含什么类型的mime,例如JSON:
Content-Type: application/json
但是没有"类型安全" REST通信中的客户端和服务器之间。客户端必须知道Web API的构造方式以及返回的数据类型。
如果响应是JSON,jQuery能够将其解析为JavaScript对象。如果响应是一个数组,则它包含在括号中:
[object1 { prop1: "aaa"}, object2 { prop1: "bbb"}]
ASP.NET Web API尝试以合适的方式发送响应,并首先查看Request中的标头,该标头告诉服务器客户端可以处理哪种响应:
Accept: application/json
或:
Accept: application/xml
ASP.NET Web API以合适的方式序列化响应,因此IEnumerable实例变为JSON数组。如果要强制响应为JSON,也可以在API中对此进行控制。