2011-05-17 111 views
0

我在调查脚本中的get的结果时遇到了一些问题。我得到了下面的代码来检查,如果用户在仍处于登录:如何从jquery中搜索结果GET

$.get("nowhereGet", function(result){ 
    if($(result).find('[id="loginInput"]')) 
    { 
     //HTML is in the response then we have been logged out and the user needs to go to 
     window.location.href = "login"; 
    } 
    }); 

现在,如果用户登录Struts将我获取返回的result一个HTML页面。如果用户已经注销,则不同的页面将返回一个带有元素id="loginInput"的内容。
我认为上述将做的伎俩,但没有爱。我究竟做错了什么?
有没有更好的方法来做到这一点,而不是随机ping服务器get?我需要performes此检查使用AJAX和完成而退出将得到拦截,结果将是登录页面,而不是预期的页面

+1

你有任何代码,我不知道什么意思Struts(我是西班牙语扬声器),让我知道如果你有anu示例代码以帮助你 – 2011-05-17 14:02:35

+0

@jesper Struts是一个用于web编程的MFC。 Google Appache Struts获取更多信息。 – Skadlig 2011-05-20 06:11:52

回答

0

我发现了一个other soloution和史蒂文贝尼特斯的帮助我得到了它的工作。按照链接获取更多信息,但总而言之,我让拦截器完成这项工作。如果调用某个路径/动作,拦截器将返回一个可从脚本中读取的文本流。

0

$('#result').get(......);的任何getpost的方法???

UPDATE 所以元素#result会有什么都#loginInput具有

$('#result').load('login.php #loginInput');

否则寻找一个JSON的选择,因为你现在的样子做,它有点凌乱

除非你正在寻找这个

$.get("nowhereGet", function(result){ 
    if(result && $(result).find('#loginInput').length) 
    { 
     //HTML is in the response then we have been logged out and the user needs to go to 
     window.location.href = "login"; 
    } 
    }); 
+0

不应该是'$(“#loginInput”)''或'.find(“#loginInput)'作为Skadlig表示结果包含html吗? – 2011-05-18 02:17:01

+0

对不起@Val没有工作Firebug说,例如得到(“title”)' – Skadlig 2011-05-18 08:43:27

+0

好吧,它不应该因为他需要获取一个url并将html返回到页面,并且登录应该在服务器端不是javascript,因为任何人都可以绕过他想的方式关于它:) – Val 2011-05-18 09:02:24