java - 未捕获的语法错误 : Unexpected token <

标签 java spring spring-mvc file-upload ajax-upload

我正在使用ajaxupload.js来自here我看到文件上传工作正常。但我得到<pre style="word-wrap: break-word; white-space: pre-wrap;">{"id":"006","path":"006.png"}</pre>在响应中。

我认为响应应该只是 {"id":"006","path":"006.png"}但由于某些原因它被包裹在 <pre> 上因此 Uncaught SyntaxError: Unexpected token <

我使用的是spring mvc 3,tomcat。我正在使用java.io.Writer将响应写为 writer.write(json.toString());

有人可以帮我理解这个错误以及如何解决它吗?

谢谢。

更新:

代码:

<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);                      
        }
    }); 
});

最佳答案

您是否已在 AjaxUpload 中将 responseType 属性设置为 json

关于java - 未捕获的语法错误 : Unexpected token <,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10891927/

相关文章:

java - 丢失的更新-Java,Spring和JPA

java - @TImed 带有 extraTags 和 @PathVariable

java - Spring MVC 表单输入值始终为空

java - Spring java.lang.NoSuchMethodError : org. springframework.expression.spel.SpelParserConfiguration

java - Spring 记得我没有使用自定义过滤器和 Java 配置

java - 将 JAR 文件作为依赖项添加到没有其相关 JAR 的项目中

java - Jetty SslConnector 的弃用方法

java - 有没有一种简单的方法可以将整数字符串转换为单个整数

Java:调用方法的 "Break"循环?

java - 无法包含 spring-security-web 依赖项