Java 未捕获的语法错误:意外标记<;

Java 未捕获的语法错误:意外标记<;,java,spring,spring-mvc,file-upload,ajax-upload,Java,Spring,Spring Mvc,File Upload,Ajax Upload,我使用的是来自的ajaxupload.js,我看到该文件正在进行上传工作。但是我在响应中得到了{“id”:“006”,“path”:“006.png”} 我认为响应应该是{“id”:“006”,“path”:“006.png”},但由于某些原因,它被包装成如果您想向客户端发送JSON,请使用。SpringMVC对它有本机支持。创建一个bean类,如下所示: <form id="app-form" class="cols" action="#" method="POST"> &

我使用的是来自的
ajaxupload.js
,我看到该文件正在进行上传工作。但是我在响应中得到了
{“id”:“006”,“path”:“006.png”}


我认为响应应该是
{“id”:“006”,“path”:“006.png”}
,但由于某些原因,它被包装成
如果您想向客户端发送JSON,请使用。SpringMVC对它有本机支持。创建一个bean类,如下所示:

<form id="app-form" class="cols" action="#" method="POST">
    <fieldset class="w50">                              
        <!--  set of form fields -->
    </fieldset>   
    <fieldset class="w50">                              
        <button id="uploadButton" class="csbutton-grey" >Upload</button>
        <ul id="locationImages"></ul>
    </fieldset>
<div style="float: left;">
    <button type="submit" class="cool-button">Submit</button>
</div>
</form>


$(document).ready(function(){
    var button = $('#uploadButton'), interval;

    new AjaxUpload(button, {
        action: 'uploadImage', 
        name: 'qqfile',
        responseType: "json",
        onSubmit : function(file, ext){
            this.disable();
            console.log("file - " + file);
            console.log("ext - " + ext);
            if (! (ext && /^(jpg|png|jpeg|gif)$/.test(ext))){
                alert('Error: invalid file extension');
                return false; 
            }
            else {
                $.ajax({
                    type:"GET",
                    url:"file",
                    data:'file='+file,
                    success:function(data, textStatus, jqXHR){
                        console.log(jqXHR.status);
                        console.log(data);
                    },
                    error:function(jqXHR, textStatus, errorThrown) {
                        console.log(jqXHR.status);
                    },
                });                 
            }
        },
        onComplete: function(file, response){
            this.enable();
            console.log("file - " + file);
            console.log("response.id - " + response.id + ", response.path - " + response.path);
            $('<li></li>').appendTo('#locationImages').text(file);                      
        }
    }); 
});
@ResponseBody // this is important
@RequestMapping("/path/to/mapping")
public Result someMethodName(SomeParameter param1, SomeParameter param2){
    // do something here
    return new Result(id, path);
}
现在像这样创建控制器方法


只要您的类路径上有Jackson,并且通过
配置了Spring应用程序,就会自动将响应对象序列化为正确的JSON(包括正确的mime类型)

您在AjaxUpload中将
响应类型设置为
JSON
属性了吗?

我完全没有设置它。现在,这个错误已经消失了,但我得到了
[object object]
的响应,一个新的错误出现了,我不得不将
替换为
来解决它,否则IE 8就不高兴了,页面的样式也出现了问题。和
https://github.com/valums/ajax-upload
不适用于IE 8或Mozilla 9:(。但适用于Safari 5.1.4和Chrome 19.0.1084.52 m。我得到了
[对象对象]
的响应,但它不适用于IE 8或Mozilla 9。我该怎么办?我正在使用。如果你提醒一个json对象,你将得到[对象对象]。这意味着您已经找回了正确的对象。您可以尝试提醒obj.id,obj.path,看看您是否获得了正确的值。哦,该死的。是的,我刚刚从响应中提取了值。我该如何处理Mozilla和IE?它们都给我
HTTP状态405-请求方法“POST”不受支持
。有时甚至Chrome 19也会这样做t也是。我可能做错了什么?我在帖子中添加了代码作为更新。我获取url并获取HTTP状态405-当我单击Upload button.Yep时,请求方法“post”不支持错误。这是我通常用于返回json数据的方法,但我得到的是
java.lang.IllegalStateException:getWriter()已经在org.apache.catalina.connector.response.getOutputStream(response.java:580)org.apache.catalina.connector.ResponseFacade.getOutputStream(ResponseFacade.java:183)org.springframework.http.server.ServletServerHttpResponse.getBody(ServletServerHttpResponse.java:71)调用了此响应。
:(
@ResponseBody // this is important
@RequestMapping("/path/to/mapping")
public Result someMethodName(SomeParameter param1, SomeParameter param2){
    // do something here
    return new Result(id, path);
}