Javascript 无法在jquery ajax中访问字符串变量

Javascript 无法在jquery ajax中访问字符串变量,javascript,jquery,ajax,jsp,Javascript,Jquery,Ajax,Jsp,正在尝试从会话、Jquery成功或错误块中的请求访问变量…但 不理解它显示为空,警报中的数据有完整的HTML页面,请提供帮助:) $(文档).ready(函数(){ $(“#becameAfan”)。单击(函数(){ $.ajax({ 键入:“GET”, url:'subscribeTo.action', 数据类型:'text', 成功:功能(数据){ var status1=//null var status=//其值为null 警报(数据);//其给定的xmlhttp对象(整个页面) $(“

正在尝试从会话、Jquery成功或错误块中的请求访问变量…但
不理解它显示为空,警报中的数据有完整的HTML页面,请提供帮助:)

$(文档).ready(函数(){
$(“#becameAfan”)。单击(函数(){
$.ajax({
键入:“GET”,
url:'subscribeTo.action',
数据类型:'text',
成功:功能(数据){
var status1=//null
var status=//其值为null
警报(数据);//其给定的xmlhttp对象(整个页面)
$(“#风扇”).fancybox({
“enableEscapeButton”:true,
“HideonOvercyclick”:对,
“showCloseButton”:真
}).trigger('click');
},
错误:函数(数据)
{ 
var status=//其值为null
警报(数据);//其给定的xmlhttp对象(整个页面)
$.fancybox({
href:“FanLoginPage.jsp”,
键入:“iframe”,
“HideOnOvercyclick”:false,
“enableEscapeButton”:false,
“showCloseButton”:真
});
}
});
返回false;
});});

内部行动类:
session.setAttribute(“状态”、“已验证”);
setAttribute(“状态”、“已验证”);
PrintWriter out=response.getWriter();
打印(“成功”);
回归成功

有几个问题。第一个是当jsp文件发出时,也就是执行
的时候。在subscribeTo.action中设置属性的代码此时不会启动

这可以通过查看页面的源代码来验证。在ajax调用的success方法触发之前,您将看到
null
s

不幸的是,javascript代码将无法访问会话或请求对象。您需要在操作的响应中返回
success
方法可以查找的内容

另外,
session.setAttribute
request.setAttribute
方法将属性名称作为第一个参数,值作为第二个参数
session.getAttribute
request.getAttribute
获取属性名称。因此,您设置了一个名为status的属性,但得到了一个名为verified的属性



尝试使用${request.verified}和${session.verified}将其放在单引号中,例如:''Oops,它正在测试我正在访问,但仍然如您所说的那样为null。。代码将无权访问会话或请求对象。您需要在操作的响应中返回成功方法可以查找的内容。这个技巧奏效了…我在加载页面之前验证了用户,这很有意义…)谢谢你的建议很高兴你找到了答案!
        <pre><code>$( document ).ready(function() {
                $("#becameAfan").click(function(){
                $.ajax({
                   type: 'GET',
                   url:'subscribeTo.action',
                   dataType:'text',
                   success: function(data){
                               var status1=<%=request.getAttribute("verified")%>//null
                               var status=<%=session.getAttribute("verified")%>//its null
                       alert(data); //its giving xmlhttp object(entire page)
                       $("#fan").fancybox({
                            'enableEscapeButton' :true,
                            'hideOnOverlayClick' : true,
                            'showCloseButton' :true
                        }).trigger('click');
                           },
                           error: function(data) 
                           { 
                               var status=<%=session.getAttribute("verified")%>//its null
                       alert(data); //its giving xmlhttp object(entire page)
                               $.fancybox({
                                    href: "FanLoginPage.jsp",
                                    type: "iframe",
                                    'hideOnOverlayClick' : false,
                                   'enableEscapeButton' : false,
                                  'showCloseButton' :true
                                });

                           }
                });
                return false;
                });});

    <pre><code>
INSIDE ACTION CLASS:
    session.setAttribute("status","verified");
    request.setAttribute("status","verified");
    PrintWriter out=response.getWriter();
                        out.print("SUCCESS");
    return SUCCESS;</pre></code>
<%=request.getAttribute("verified")%>