chongxiaocheng 2011-03-05
今天很是郁闷,遇到了这个问题查了好几个小时,最终问题还是被解决了。
在JSP中用ajaxFileUpload做上传文件时,用Firebug调试是遇到了这个错误:XMLcannotbethewholeprogram,在IE下测试时,直接报错。在网上查了很长时间,还是这个地方http://stackoverflow.com/questions/1371189/what-does-firebug-xml-cannot-be-the-whole-program-error-message-mean上面的一个老外的回答提醒了我,说当服务器器返回xml格式时就会报错。的确,最后测试服务器返回的结果为<pre></pre>,原因是因为我把dataType的值设置为'script',所以报错,设置为'json'时,错误消失,原因是当设置为'json'时,服务器返回为空值。
上面的问题是解决了,但是服务器端接收到的始终是空,文件没有上传成功。难怪,文件没有上传成功,当把dataType的值设置为'script'时服务器端就返回<pre></pre>,所以才导致了上面的错误。最后终于发现问题了,上传框我少了name属性,所以一直上传失败,服务器端看不到文件。加上name属性,问题解决。