2014-12-04 112 views
1

我想在我的json输出中放置一个js window.location,以使用该javascript代码更新DIV以重定向用户。这里唯一的问题是,我的脚本在尝试将json输出中的javascript之后再也不做任何事了。JavaScript中的window.location由json返回的php

$result = array("error" => false, "html" => null); 
$result["error"] = false; 
$result["html"] = "<h3>Deel 1 is afgerond, <a href='/shop/?,69'>KLIK HIER</a> om door te gaan naar de begin pagina.</h3>"; 
$result["html"] .= "<script type="text/javascript"><!-- function Redirect() { window.location="http://www.newlocation.com"; } setTimeout('Redirect()', 10000); //--></script>"; 

} else { 
$result["error"] = true; 
$result["html"] = "<h3>Error; Neem contact op met de webmaster</h3>"; 
} 

现在脚本因为这个JS而没有做任何事情而死亡。

我只是不知道如何格式化它。我试图改变“到”并把\放在\“之前”,但它们都不起作用。有人吗?

谢谢。

回答

0

尝试以下操作:

$result = array("error" => false, "html" => null); 
$result["error"] = false; 
$result["html"] = "<h3>Deel 1 is afgerond, <a href='/shop/?,69'>KLIK HIER</a> om door te gaan naar de begin pagina.</h3>"; 
$result["html"] .= "<script type='text/javascript'>setTimeout(function() { window.location='http://www.newlocation.com'; }, 10000);</script>"; 

变化:

  • 清理撇号/报价
  • 去除不必要的注释标记
  • 改变的setTimeout调用该函数,而不是直接通过名称,这更简单
+0

谢谢!也会使用这个js的改变! – Justin 2014-12-04 11:33:20

0

似乎有一些问题,与这条线:

$result["html"] .= "<script type="text/javascript"><!-- function Redirect() { window.location="http://www.newlocation.com"; } setTimeout('Redirect()', 10000); //--></script>";

将其更改为:

$result["html"] .= "<script type='text/javascript'> function Redirect() { window.location='http://www.newlocation.com'; } setTimeout('Redirect()', 10000); </script>";

+0

看起来像我忘记了