2011-11-21 135 views
4

我有是一个链接的点击是如下如何在JavaScript中更改window.location.href,然后执行更多的JS?

cj_redirecturl="/HomeWork/main/load_course"; 
    utility.xhttprw.data(cj_redirecturl,{data:courseid},function(response){ 
     if(response){ 
      window.location.href=base_url+"main"; 

///next 
utility.xhttprw.data(redirecturl,{data:""},function(response){ 
     if(response){ 

      id=ent; 
      document.getElementById('content').innerHTML=response; 
      // Assignemnt module 
      //Call function from javascript/assignment.js file to display particular assignment (ent:means assignment_id) // 
       if(con==5) 
       { 
        get_assignment_id(ent); 
       } 
       if(con==9) 
       { 
        get_content_details(ent); 
       } 


     } //end of response  
    },false,false,false,'POST','html',true); 
     } 
    },false,false,false,'POST','html'); 

在上面的代码window.location.href=base_url+"main";页面重定向到其相应的页面,但这种停止写只是旁边的代码的执行执行的代码snippent。现在我希望这个代码在写入时被执行,即首先代码应该带我到相应的“主”页面,然后编写代码,之后必须执行并提供所需的输出。

有人可以指导我做到这一点吗?

+1

这不会这样工作,当你重定向你得到另一个页面加载,这意味着你松散你的JavaScript内存中的一切。添加一个参数到重定向,通过它你知道你什么时候重定向,并在页面加载hanle它 – Rumplin

+0

怎么可以做 –

+0

因为你标记jquery我不知道哪个代码是jQuery在这里 – Rumplin

回答

7

window.location.href = base_url + "main"; < - 当你加载这个页面,请致电///next

定义代码你将不得不添加一些参数:

window.location.href=base_url+"main?parameter=true"; 

另一种方法是将带有ajax的页面加载到html中的div中。

看看jQuery的$.ajax()

+0

这里看起来相对比较明智......我想知道 –

+0

非常感谢'...使用ajax将页面加载到div中的HTML。 – Veverke

2

请尽量写

window.location.href = base_url + "main"; 

只是如果条件结束前或使用

setTimeout('window.location.href=base_url+"main"', 2000); 
+0

他正在尝试重定向页面,然后进一步处理。如果他稍后有问题需要重定向,他可能会将代码移动到 – Rumplin

2

由于已经注意到了,你去到另一个页面

你可以做的是创造重定向功能后,会传给你的函数中的cookie,你不能执行代码,重定向然后在下一页评估它。 (另一个调用next网页上的重定向器)

但是你应该知道的问题

1)包装数量。它是在你决定如何包装饼干。

2)Encription。如果您传递未包装或未加密的cookie,“不良用户”可以传递该cookie内的一些恶意代码。 3)你应该有非常非常好的理由来做到这一点。 这种方式太复杂,难以编码,难以维护

如果您执行额外的服务器端控件,将它保存到某处并在下一页再重新加载一个请求,会更好。

相关问题