这是ajax呼叫以下休息服务是否正确?

时间:2013-04-01 09:02:26

标签: ajax spring

样品休息服务如下:

@RequestMapping(value = "/image/upload", method = RequestMethod.POST)
public void uploadImage(@RequestParam("image") MultipartFile fileObj)
        throws Exception 
{
  System.out.print("File Name:"+fileObj.getOriginalFileName()); 

}

我写了这样的ajax代码: 我的接受申请格式是Json,当我称之为我得到400错误

            $('#user_click').click(function(){
    var data = { 
              image:$("#file_1").val
                };
    $.ajax({
        url : "http://localhost:8080/MyProject/image/upload",
        type : "POST",
        contentType : false,
        crossDomain : true,
        data : JSON.stringify(data),
        dataType : 'json',
        async : true,
        success : function(result) {
            alert('The Selected Items uploaded');
        },
        error: function(message){
          alert("Error:"+JSON.stringify(message));  
        }
       });

这个ajax代码是否正确?

1 个答案:

答案 0 :(得分:0)

不,由于ajax请求不会传输文件数据,因此无效。

解决方案

  1. 使用jquery-form
  2. 等文件上传插件

    例如:

    $('#myForm').ajaxSubmit({
        url : 'http://localhost:8080/MyProject/image/upload',
        type : "POST",
        dataType : "json",
        success : function(response) {
    
        },
        error : function(response) {
    
        }
    });
    
    1. 使用html5 FormData(遗憾的是没有IE支持)