由於@Tomalak說,你不應該使用JavaScript來解決這個問題。使用服務器重定向。
但是,有一個更一般的問題與獲取PHP數據到JavaScript。我會在這裏解決這個問題。
對於javascript和html,您都需要正確轉義$url
參數。 redirect()
未定義,因爲其中存在語法錯誤。
無論何時您需要將javascript數據內聯傳遞到html,請使用以下模式。這是做到這一點的最明確,最安全的方式。
<?php
// 1. put all the data you want into a single object
$data = compact($url);
// $data === array('url'=>'http://example.org')
// 2. Convert that object to json
$jsdata = json_encode($url);
// 3. html-escape it for inclusion in a script tag
$escjsdata = htmlspecialchars($jsdata, ENT_NOQUOTES, 'utf-8');
// change utf-8 to whatever encoding you are using in your html.'
// I hope for your sanity you are using utf-8!
// 4. Now assign $escjsdata to a js variable in your html:
?>
<html>
<head>
<title>Redirecting</title>
</head>
<body onload='redirect()'>
Not Logged In
<script type = 'text/javascript'>
function redirect() {
var data = <?php echo $escjsdata ?>;
window.location=data.url;
}
</script>
</body>
</html>
也許window.location ='「。$ url。」' –