window.open打开窗口并将url显示为文本(而不是打开url)

时间:2016-01-09 20:43:59

标签: javascript php html5 window.open

点击按钮,应在新窗口中打开php请求的返回值(网站)。

的index.php:

<p><button id="btn1" onClick="window.open('getproduct.php');" class="btn btn-primary btn-xl">Find a product</button></p>

getproduct.php:

<?php
  require_once '../connection_prod.php'; 
  $count = mysql_query("SELECT site FROM product ORDER BY RAND() LIMIT 1", $db);
  $row = mysql_fetch_row($count);
  $prod = $row[0]; 
  echo $prod;        
?>

创建了一个新窗口,但它不是加载url而是显示返回值的文本。

看起来像这样:

enter image description here

任何人都知道如何解决这个问题?

提前致谢!

1 个答案:

答案 0 :(得分:1)

它完全按照你的要求去做。幸运的是,这是一个很小的改变,使它做你想做的事。

javascript,

window.open('getproduct.php');

打开一个新窗口,然后转到该网址。

您在php上的脚本然后发出内容,然后显示。浏览器并不知道它应该将用户带到该网址;它正在按照它所说的去做:在getproduct.php显示内容。如果你直接转到getproduct.php(而不是通过JavaScript),那么这正是你得到的。

相反,如果您希望用户重定向到所需的网址,那么您必须实际告诉浏览器执行此操作。一种方法是这样做:

 header("Location: $prod");

而不是回声。这是标题重定向。它将导致浏览器重定向到提供的位置。如果你这样做,那么你将获得所需的效果。还有其他方法可以做到这一点(涉及JavaScript做更多的工作),但这是最简单的。