Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Uploadify响应值始终未在ASP.NET中定义_Javascript_Asp.net_Uploadify - Fatal编程技术网

Javascript Uploadify响应值始终未在ASP.NET中定义

Javascript Uploadify响应值始终未在ASP.NET中定义,javascript,asp.net,uploadify,Javascript,Asp.net,Uploadify,我正在使用Uploadify通过ASP.NET上传一些图像。 我在ASP.NET中使用Response.WriteFile()将上传结果返回到JavaScript。 按照文档中的说明,我正在使用onAllComplete事件检查ASP.NET中的响应字符串 问题在于警报(响应)在JavaScript中始终未定义 JavaScript代码如下所示: $(document).ready(function() { var auth = "<% = Request.Cook

我正在使用Uploadify通过ASP.NET上传一些图像。
我在ASP.NET中使用
Response.WriteFile()
将上传结果返回到JavaScript。 按照文档中的说明,我正在使用
onAllComplete
事件检查ASP.NET中的响应字符串

问题在于
警报(响应)在JavaScript中始终未定义

JavaScript代码如下所示:

$(document).ready(function() {
            var auth = "<% = Request.Cookies[FormsAuthentication.FormsCookieName]==null ? string.Empty : Request.Cookies[FormsAuthentication.FormsCookieName].Value %>";
            $('#btnUpdateProfileImg').uploadify({
                'uploader': '../script/uploadify/uploadify.swf',
                'script': '../uploadprofimg.aspx',
                'cancelImg': '../script/uploadify/cancel.png',
                'folder': '../script/uploadify',
                'scriptData': { 'id': $(this).attr("id"), 'token': auth },
                'onAllComplete': function(event, queueID, fileObj, response, data) {
                    alert(response); 
                }
            });
        });
FormsAuthenticationTicket
对象的原因是在使用Firefox的Uploadify时传递身份验证cookie

我见过很多例子,其中
Response.Write
将值返回到
onAllComplete
事件。但我得到的只是未定义的。 我还尝试使用
Context.Response.Write
this.Response.Write
HttpContext.Current.Response.Write
。它们都返回未定义

谢谢你的帮助。
谢谢

似乎OnalComplete事件从未触发过。这可能是因为我正在自动上载单个文件,而不是多个文件。
我发现onComplete事件触发,我可以用它来代替。

当您在if(identity.IsAuthenticated)上设置断点时,是否正在命中断点?我会添加一个“默认”响应.NET代码以确保正确的执行流。您的调试尚未排除所有选项。是的,identity.IsAuthenticated返回true并保存映像。也包括响应。写入(“测试”);在.NET代码存在之前,行实际上已被命中。请在此处发布您的完整答案,因为您已将其标记为您文章的“答案”。
protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            string token = Request.Form["token"].ToString();
            FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(token);
            if (ticket != null)
            {
                var identity = new FormsIdentity(ticket);
                if (identity.IsAuthenticated)
                {
                    HttpPostedFile hpFile = Request.Files["ProfileImage"];      
                    string appPath = HttpContext.Current.Request.ApplicationPath;
                    string fullPath = HttpContext.Current.Request.MapPath(appPath) + @"\avatar\";
                    hpFile.SaveAs(Server.MapPath("~/" + uniqName));
                    Response.ContentType = "text/plain";
                    Response.Write("test");    
                }
            }
        }
        catch (Exception ex)
        {
            Response.Write("test");
        }
    }