极客园地 2014-01-06
转载地址:http://blog.csdn.net/dugulieyang/article/details/7597139
近期,我在开发中用到了文件异步上传,因此使用了ajaxfileupload,但是在使用过程中遇到了返回的JSON数据类型无法成功解析的问题,经过一天的努力,现在终于将问题解决,在此多谢那些JS大神的博文,解决方案如下(参考某大神的方案):
ajaxfileupload 是创建了个iframe,来实现异步上传文件,firebug看下iframe的内容,发现莫名其妙的加上了<pre>,难怪导致解析json数据发生错误。
将源代码
if ( type == "json" )
eval( "data = " + data );
改成:
if ( type == "json" ){
data = jQuery.parseJSON(jQuery(data).text());
}
亲测成功~
为了美观,把 type="file" 控件隐藏。点击“上传”按钮,click调用隐藏文件控件,再选择文件。查了一遍,好像是ie为了安全控制,文件的必须鼠标点击过后,才能提交。还没有想到其他的方法。。。
5,success 提交成功后自动执行的处理函数,参数data就是服务器返回的数据。6,error 提交失败自动执行的处理函数。7,data 自定义参数。fileElementId: 'file1',
-- 引入相关的js文件,相对路径 -->. -- 执行上传文件操作的函数 -->. method=uploader', //需要链接到服务器地址。fileElementId:'houseMaps',