我们的if statement
中有$(document).ready( function()
未执行。该功能的所有其他组件都正常工作,但这似乎每次都失败。 Firebug
显示没有与文件有关的错误,并且在设置断点时,Firebug
会暂时停止,然后将页面加载到100%。
当HTML form
按钮悬停在按钮下方时,该语句可以检索正确的Login
。看屏幕截图。一个显示完全相同的脚本在不同的页面上工作,在另一个.js
文件中,一个显示它不起作用,而是出现undefined
消息。两者都在js
函数中的大量ready
文件中。
$(document).ready
函数是1600多行,问题函数是向下的。以下是陈述:
var dropdown = document.getElementsByClassName("login-mega-main");
if (dropdown[0] != null){
$.ajax({
url: '/public/login/dropdown_login.jsp',
method: 'GET',
success: function(response) {
dropdown[0].innerHTML=response.responseText;
},
failure: function(response){
dropdown[0].innerHTML="<p>Failed to login. Please click 'Login' link</p>";
}
});
}
出现undefined
消息而不是错误消息的事实告诉我这些陈述甚至没有达到。在你说些什么之前,是的,class
存在于页面中。工作屏幕截图和无法工作的屏幕截图具有相同的HTML
标题。
<li><a href="contact/index.jsp">Contact Us</a>
<li class="login-mega last"><a href="/public/user_profile.jsp"></a>
<div class="login-mega-main">
<div class="login-options">
<form id="login" name="j_security_form" action="/public/j_security_check" method="post" accept-charset="UTF-8">
<strong>Account Login</strong><br>
Username:<br>
<input type="text" name="j_username"><br>
Password:<br>
<input type="text" name="j_password"><br>
<br>
<input type="submit" value="Login"><br>
<br>
New users <a href="../user_registration.jsp">register here</a><br>
<a href="../forgot_password.jsp">Forgot password?</a>
<input type="hidden" name="auth_mode" value="basic">
<script>
var newloc = document.location.href;
newloc =newloc.replace('index.jsp','index.jsp');
document.write('<input type="hidden" name="orig_url" value="'+newloc+'">');
</script>
</form>
</div>
</div>
</li>
我的猜测是括号被扔掉了,但是经过几个小时的淘洗,我们无法找到任何东西。由于两个页面(屏幕截图)都使用相同的HTML
代码,因此我们真的不知所措。
答案 0 :(得分:1)
您收到undefined
,因为未定义response.responseText
。只需使用response
var dropdown = document.getElementsByClassName("login-mega-main");
if (dropdown[0] != null){
$.ajax({
url: '/public/login/dropdown_login.jsp',
method: 'GET',
success: function(response) {
dropdown[0].innerHTML=response;
},
failure: function(response){
dropdown[0].innerHTML="<p>Failed to login. Please click 'Login' link</p>";
}
});
}
为了更好地理解jQuery $.get()
visit here