asp.net mvc ajax上传文件 然后返回json
2010-06-25 20:49
477 查看
本来,通过jquery from,ajax上传文件挺容易的,但是,上传完之后想返回json的话,颇费了一些周折。
asp.net mvc 中可以直接返回一个JsonResult,例如
代码
try{
if (opts.dataType == 'json' || opts.dataType == 'script') {
// see if user embedded response in textarea
var ta = doc.getElementsByTagName('textarea')[0];
if (ta)
xhr.responseText = ta.value;
else {
// account for browsers injecting pre around json response
var pre = doc.getElementsByTagName('pre')[0];
if (pre)
xhr.responseText = pre.innerHTML;
}
}
else if (opts.dataType == 'xml' && !xhr.responseXML && xhr.responseText != null) {
xhr.responseXML = toXml(xhr.responseText);
}
data = $.httpData(xhr, opts.dataType); //这里报错
}
catch(e){
log('error caught:',e);
ok = false;
xhr.error = e;
$.handleError(opts, xhr, 'error', e);
}
catch到的信息是“Invalid JSON”。原来从jquery1.4开始,键和值都必须使用两个引号包围,改为以下内容之后解决
return Content("<textarea>{'error': 'file size is zero'}</textarea>", "text/html");
在这个问题上,耗费了一整天的时间,记录下来整个过程,希望其他人能用上
asp.net mvc 中可以直接返回一个JsonResult,例如
代码
try{
if (opts.dataType == 'json' || opts.dataType == 'script') {
// see if user embedded response in textarea
var ta = doc.getElementsByTagName('textarea')[0];
if (ta)
xhr.responseText = ta.value;
else {
// account for browsers injecting pre around json response
var pre = doc.getElementsByTagName('pre')[0];
if (pre)
xhr.responseText = pre.innerHTML;
}
}
else if (opts.dataType == 'xml' && !xhr.responseXML && xhr.responseText != null) {
xhr.responseXML = toXml(xhr.responseText);
}
data = $.httpData(xhr, opts.dataType); //这里报错
}
catch(e){
log('error caught:',e);
ok = false;
xhr.error = e;
$.handleError(opts, xhr, 'error', e);
}
catch到的信息是“Invalid JSON”。原来从jquery1.4开始,键和值都必须使用两个引号包围,改为以下内容之后解决
return Content("<textarea>{'error': 'file size is zero'}</textarea>", "text/html");
在这个问题上,耗费了一整天的时间,记录下来整个过程,希望其他人能用上
相关文章推荐
- asp.net mvc ajax上传文件 然后返回json
- ASP.NET MVC上传文件成功返回Json格式数据弹出下载框解决方案
- 脑残的asp.net mvc ajax.beginform()无法上传文件
- ASP.NET MVC利用input通过ajax上传文件
- 用Fine Uploader+ASP.NET MVC实现ajax文件上传[代码示例]
- spring mvc ajaxfileupload文件上传返回json下载问题
- Asp.net MVC中使用JQuery插件ajaxFileUpload上传文件
- 异步上传文件插件AjaxFileUploader在Asp.net MVC中应用
- ASP.NET MVC POST 仿AJAX静态刷新表单上传文件以及传递数据
- 用Fine Uploader+ASP.NET MVC实现ajax文件上传[代码示例]
- Asp.Net Mvc使用Ajax.BeginForm上传文件Request.Files始终为empty
- C#结合js 上传文件和删除文件(技术点有:asp.net mvc ,nhibernate,ajax等)
- Asp.net MVC中使用JQuery插件ajaxFileUpload上传文件
- 关于jQuery在Asp.Net Mvc 框架下Ajax文件上传的实现
- ASP.NET MVC中,怎么使用jquery/ajaxForm上传文件
- asp.net mvc c# 读取json文件返回字符串
- 用Fine Uploader+ASP.NET MVC实现ajax文件上传[代码示例]
- asp.net mvc ajax.beginform()无法上传文件
- 关于jQuery在Asp.Net Mvc 框架下Ajax文件上传的实现
- [代码示例]用Fine Uploader+ASP.NET MVC实现ajax文件上传