Ajax PUT REST请求更新数据库

时间:2015-07-09 19:24:59

标签: javascript jquery ajax rest jersey

我在javascript中调用我的REST api时遇到问题,根据我的测试,我收到错误请求或不支持的媒体类型...

我的Servlet:

   /**
    * Update an existing frame
    * 
    * @param id the id of the <frameConfig> to update
    * @param frameConfig the updated data
    * @return the Updated <frameConfig>
    */
   @Path("/frame/{id}/")
   @PUT
   @Consumes(MediaType.APPLICATION_JSON)
   public Response updateFrame(@PathParam("id") String id, final FrameConfig frameConfig) {

      String idOfTheUpdatedFrame = FrameService.getInstance().updateFrame(id, frameConfig);
      URI uri = uriInfo.getAbsolutePathBuilder().path(idOfTheUpdatedFrame).build();

      return Response.ok(uri).build();
   }

我的javascript:

            $.ajax({ 
                headers: { 
                    'Accept': 'application/json',
                    'Content-Type': 'application/json' 
                },
                   type: "PUT",
                   dataType: "json",
                   url: "http://localhost:8080/densite-simulator-WebApp/rest/frames/frame/" + configToUpdate[0].id,
                   data: configToUpdate[0],
                   success: function(data){        
                     alert(data);
                   }
                });

Ajax调用中的数据类型是针对调用成功后检索到的数据还是发送数据的类型?

1 个答案:

答案 0 :(得分:0)

vh属性用于datatype的预期返回数据格式。如果未指定,response将尽力猜测它应该是什么类型......