REST的json表示。文件或POST表单数据?

时间:2009-10-28 09:31:47

标签: json rest

当我将实体的JSON表示发送到服务器时,如何传递有效负载?据我所知,有两种选择:

  1. 作为上传文件
  2. 作为POST表单数据的内容
  3. 据我所知,第一种情况无法通过AJAX请求执行,但似乎是“正确的”。你知道是否有一种首选的“事实上”方式来执行这项任务?

3 个答案:

答案 0 :(得分:0)

您可以使用POST方法发送您想要的任何数据,这意味着您可以使用JSON加载它(请求的主体),这是完全正确的。只需确保您的服务器应用程序能够解码它 - 为此您可以使用正确的Content-Type标头(“application / json”或任何正确的媒体类型)提供您的请求,因此服务器端知道如何反序列化有效载荷。

答案 1 :(得分:0)

直接从Javascript发布JSON实体应该没有问题。有关如何使用jQuery执行此操作的示例,请参阅here

我认为使用表单发布数据没有任何好处。

答案 2 :(得分:0)

要使用jQuery将原始数据作为ajax请求发送,请$.ajax()使用processData=false并将contentType设置为您想要的任何内容(在这种情况下为application/json。)

设置processData=false会阻止jQuery将data转换为表单帖子。