+ -
当前位置:首页 → 问答吧 → 请教,如何处理.ajax的错误

请教,如何处理.ajax的错误

时间:2009-06-06

来源:互联网

我使用.ajax来向服务器端发送发表留言的请求,就是某用户对另一个用户的留言板发一个留言,

发表之前需要用户必须是已登录的状态,如果用户已登录,则.ajax会返回Json的一个对象,这个可以在seccess中处理。但是如果用户未登录,我返回的是一串中文提示字符,我该怎么处理呢?想过在error里处理,然后在asp.net中抛出错误信息。但是不知道如何获取。。。

作者: 435045   发布时间: 2009-06-06

因为有的功能,需要用户登录才能查看,比如查看某用户的相册,那么我用.ajax请求相册列表,以Json的格式返回,但如果用户未登录,则返回的东东不是Json啦,而是我要在客户端提示用户需要先登录。。。。。

作者: 435045   发布时间: 2009-06-06

也就是,用户存在是否已登录的问题,用户可能在登录的情况下打开了某个页面,然后很长时间没操作,直到session过期后,用户又访问了某个需要用户登录才能处理的操作,这样的情况怎么处理呢~?我想把判断是否已登录和响应用户操作放在一个ajax请求里完成,如果已登录则可以正常响应,如果未登录呢?

作者: 435045   发布时间: 2009-06-06

怎么没人回复呢。难道我的问题问得太弱智么?~`er

作者: 435045   发布时间: 2009-06-06

没人理我自已解决。

<script type="text/javascript" src="js/jquery-1.3.2.js"></script>
<script language=javascript>
$(function(){
    $.ajax({
        type:"post",
        url:"/ajaxForm.aspx",
        data:"Action=Photo&View=list",
        cache:true,
        success:function(data){
            alert("secc");
            $("#news").html(data);
        },
        error:function(request,status,err){
            if(request.status==365){
                //这是自定义的错误
                eval("data="+request.responseText);
                alert("错误消息:"+data.msg+"执行脚本:"+data.script);
                if(data.script!=""){eval(data.script);}
            }
            $("#news").html(request.status+":"+request.responseText);
        }}
    );
});
</script>
<div id="news"></div>
<!--下面是asp.net的后台代码-->


    Public Sub Checklogin()
        Try
            If Session("UserID") = "" Or IsNothing(Session("UserID")) Then
                Response.StatusCode = "365"
                Response.Write("{msg:""请登录后再执行此操作!"",script:""""}")
                Response.End()
            End If
        Catch ex As Exception
            Throw New Exception("请登录后再执行此操作!")
            Response.End()
        End Try
    End Sub

作者: 435045   发布时间: 2009-06-06

呵呵,顶楼主

因为并不是所有人都能回答你的提问,而能回答你的提问的人也不是每时每刻都在线~~
支持楼主自己探索解决问题!

作者: shawphy   发布时间: 2009-06-06

顺便看看俺的站: http://www.4yxs.com

http://www.06du.com

作者: 435045   发布时间: 2009-06-06

嗯,谢谢你版主。

我第一次打算用JQuery来做一个项目。所以我把问题都列出来,我不会的也列出来。这样把该解决的问题先解决。

等设计把html给我以后就做得比较自然了。

我是用asp.net + jQuery的。。。。。

因为不用JQuery的情况下一般用asp.net的Postback机制。有事件。

现在专门写了一个ajaxform.aspx来处理请求,其中就有action用来表示当前操作的对象,view就是用来表示特定的具体操作,根据这两个值,转向对应的处理函数,所有ajax有关的服务器操作就都放在这里了。

作者: 435045   发布时间: 2009-06-06

呵呵,这种思路不错!

作者: liangwei389   发布时间: 2009-06-08

相关阅读 更多