2016-10-15 58 views
-3

我有以下的javascript代碼:JavaScript調用PHP頭

function like(){ 
    if(loged) { 
    if(liked) { 
     likes-=1; 
     liked = false; 
     document.getElementById('alike').src = "img/icons/like.png"; 
    } else if(disliked) { 
     dislikes-=1; 
     disliked = false; 
     likes+=1; 
     liked = true; 
     document.getElementById('alike').src = "img/icons/like1.png"; 
     document.getElementById('adislike').src = "img/icons/dislike.png"; 
    } else { 
     likes+=1; 
     liked = true; 
     document.getElementById('alike').src = "img/icons/like1.png"; 
    } 
    } else { 
    <?php header("Location:login");?> 
    } 
} 

我想將用戶重定向到登錄頁面內如何JavaScript可以我的用戶PHP來此。我不想使用任何其他的東西,如Ajax等。謝謝。

+0

'window.location'也許是你正在尋找? –

+0

一個簡單的網頁搜索*「JavaScript重定向」*會得到你的問題回答 – charlietfl

回答

1

你不需要使用PHP header()來重定向JS。你可以簡單地使用window.location屬性:

window.location.href = "your_url"; 

//or 

window.location = "your_url"; 

//or 

location.href = "your_url"; 

//or 

location = "your_url"; 
1

正如在其他意見中提到,在重定向javsascript要使用類似window.location.href = "your_url";

這裏有一些額外的信息以及將來會幫助你,因爲你似乎誤解了PHP和JavaScript之間的關係。

在堅果殼中,您不能從javascript調用PHP函數。 PHP代碼和JavaScript代碼在請求週期中的兩個不同時間運行。 PHP是由服務器運行和JavaScript是由客戶端(瀏覽器)運行

PHP

當加載網頁的請求會被你的客戶端(瀏覽器)被髮送到服務器,接收它並返回一個響應。

PHP在接收服務器上運行,它的工作非常簡單,就是生成一個響應,以發送回瀏覽器。因此它可能會生成html,javascript等。

您可以使用PHP輸出html,例如<?php echo 'Hello world'; ?>

一旦PHP發送了它的響應,就是PHP的遊戲結束。

HTML和JavaScript

請求的瀏覽器將接收響應的服務器發送,然後將處理它。對於HTML,它會呈現一個頁面,任何JavaScript都將運行。

由於PHP代碼在服務器上運行,而javascript在客戶端上運行,所以Javascript根本無法與PHP進行交互。

瞭解客戶端和服務器之間的不同是很重要的,否則你會發現自己遇到類似的問題,前進:)