ajax上传图片的问题。 无法获得返回响应

lijing3333 2013-02-17 05:06:06
我用ajaxFileUpload 这个js插件做的ajax上传图片

现在是上传可以成功。 但是返回到js获取响应值 怎么都无法进行激活 不知道是为什么。

求解啊

//前台js



function ajaxFileUpload() {

$.ajaxFileUpload
(
{
url: '/ajax/upload',
secureuri: false,
fileElementId: 'upload_img',
dataType: 'json',
data: { name: 'logan', id: 'id' },
success: function (data, status) {
alert("成功"); //这个地方无法获得data的结果。。。 if (typeof (data.error) != 'undefined') {
if (data.error != '') {
alert(data.error);
} else {
alert(data.msg);
}
}
},
error: function (data, status, e) {
alert(e);
}
}
)

return false;

}


// C#
  [HttpPost]
public string UpLoad()
{
HttpFileCollectionBase files = HttpContext.Request.Files;
string imgName = string.Empty;
if (files.Count > 0)
{
try
{
string fileDirectory = DateTime.Now.ToString("yyyyMM");

Tools.Download.CreateDirectory();

imgName = Tools.Download.CreateImgName();

for (int i = 0; i < files.Count; i++)
{
if (files[i].FileName != "")
{
string imgStyle = files[i].ContentType;

if (imgStyle.StartsWith("image/bmp") || imgStyle.StartsWith("image/gif") || imgStyle.StartsWith("image/pjpeg") || imgStyle.StartsWith("image/jpeg") || imgStyle.StartsWith("image/x-png"))
{
string savePath = HttpContext.Server.MapPath("/d/m/") + fileDirectory + "/" + imgName;
files[i].SaveAs(savePath);

new Ny.Function.Utility.HelperImg().MakeImg("/d/m/" + fileDirectory + "/" + imgName, "/d/228/" + fileDirectory + "/", 228, 390, 95, 1);
new Ny.Function.Utility.HelperImg().MakeImg("/d/m/" + fileDirectory + "/" + imgName, "/d/100/" + fileDirectory + "/", 100, 100, 100, 175, 95, 1);
new Ny.Function.Utility.HelperImg().MakeImg("/d/m/" + fileDirectory + "/" + imgName, "/d/56/" + fileDirectory + "/", 56, 56, 56, 86, 95, 1);
return imgName;
}
}
}
}
catch (Exception)
{
return "成功";
}
}
return imgName;
}


//html

<input id="upload_img" type="file" name="image" hidefocus="true"><input type="button" value="上传" onclick="ajaxFileUpload()" id="inputsc">

...全文
227 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
用firebug或者chrome 的F12查看返回的内容到底是什么,如果是json的格式错误了。
yyl8781697 2013-02-18
  • 打赏
  • 举报
回复
json格式大有问题,为什么你抓到异常了还是返回成功呢 还有返回值尽量全用英文 LZ的代码块可以那样

if (files.Count > 0)
            {
                try
                {
                    string fileDirectory = DateTime.Now.ToString("yyyyMM");
 
                    Tools.Download.CreateDirectory();
 
                    imgName = Tools.Download.CreateImgName();
 
                    for (int i = 0; i < files.Count; i++)
                    {
                        if (files[i].FileName != "")
                        {
                            string imgStyle = files[i].ContentType;
 
                            if (imgStyle.StartsWith("image/bmp") || imgStyle.StartsWith("image/gif") || imgStyle.StartsWith("image/pjpeg") || imgStyle.StartsWith("image/jpeg") || imgStyle.StartsWith("image/x-png"))
                            {
                                string savePath = HttpContext.Server.MapPath("/d/m/") + fileDirectory + "/" + imgName;
                                files[i].SaveAs(savePath);
 
                                new Ny.Function.Utility.HelperImg().MakeImg("/d/m/" + fileDirectory + "/" + imgName, "/d/228/" + fileDirectory + "/", 228, 390, 95, 1);
                                new Ny.Function.Utility.HelperImg().MakeImg("/d/m/" + fileDirectory + "/" + imgName, "/d/100/" + fileDirectory + "/", 100, 100, 100, 175, 95, 1);
                                new Ny.Function.Utility.HelperImg().MakeImg("/d/m/" + fileDirectory + "/" + imgName, "/d/56/" + fileDirectory + "/", 56, 56, 56, 86, 95, 1);
                                return "{'error':'','msg':'upload successfully'}";
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    return "{'error':'error','msg':'"+ex.Message+"'}";
                }
            }
            return "{'error':'error','msg':'empty file'}";
还有看ajax返回的内容可以用firebug检查比较方便
菜牛 2013-02-17
  • 打赏
  • 举报
回复
你返回的不是JSON格式!
happytonice 2013-02-17
  • 打赏
  • 举报
回复
直接alert(data);看数据是什么情况,或者session出来数据观察,用断点跟踪数据也行
kele819830822 2013-02-17
  • 打赏
  • 举报
回复
是我多心嘛 dataType: 'json',但你返回值是个string...另外你的后台是ashx吗,试试用HttpContext对象的Response.Write输出返回呢
still_melody 2013-02-17
  • 打赏
  • 举报
回复
设一下断点看到底return了什么。 实在不行,只能是用人家的东西手短。。。
lijing3333 2013-02-17
  • 打赏
  • 举报
回复
求解 求解 啊。。。。 都试过了 就是不行郁闷了
still_melody 2013-02-17
  • 打赏
  • 举报
回复
你把return多挪挪地方 把imgName先换成汉字
csdn也有一份相关的文档 不过他的已经加密 添加不了附注 所以这里上传一份没有加密的 内容是一样的 目录: 一 AJAX定义 二 现状与需要解决的问题 三 为什么使用AJAX 四 谁在使用AJAX 五 用AJAX改进你的设计   例子1:数据校验   例子2:按需取数据 级联菜单   例子3:读取外部数据 六 AJAX的缺陷 七 AJAX开发   7 1 AJAX应用到的技术     A XMLHttpRequest对象     B Javas cript     C DOM     D XML   7 2 AJAX开发框架     A 初始化对象并发出XMLHttpRequest请求     B 指定响应处理函数     C 发出HTTP请求     D 处理服务器返回的信息     E 一个初步的开发框架   7 3 简单的示例     A 数据校验     B 级联菜单   7 4 文档对象模型(DOM)     7 4 1 DOM眼中的HTML文档:树     7 4 2 HTML文档的节点     7 4 3 使用DOM操作HTML文档   7 5 处理XML文档     7 5 1 处理返回的XML     7 5 2 选择合适的XML生成方式     7 5 3 如何在使用XML还是普通文本间权衡">csdn也有一份相关的文档 不过他的已经加密 添加不了附注 所以这里上传一份没有加密的 内容是一样的 目录: 一 AJAX定义 二 现状与需要解决的问题 三 为什么使用AJAX 四 谁在使用AJAX 五 用AJAX改进你的设计   例子 [更多]

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧