2015-10-19 65 views
1

我需要將php變量(從服務器和與服務行爲相關的)轉換爲javascript。例如,"ssl" => "true"並在javascript中進行相應調整。問題是我正在爲我正在寫的一些API文件做這件事,我希望客戶端可以直接訪問這些文件(<script src="... .js">),這迫使我在未來可能會改變多個文件引用的信息的硬編碼。我想要做的是這樣的事情,有可能嗎? (獲取內容必須保持完全私人的 - 從服務器文件夾複製到PHP腳本文件 - 因此它是真的不使用JavaScript來獲取這個信息的選項)回聲php內容到API javascript?

api.js

<? //PHP here. (I know...) 
(...) 
?> 
//some javascript 
var is_secure = <? echo "true"/"false" ?> 
(...) 

這樣做<script src="api.js"/>當用戶只取:

var is_secure = "true"; 
(...) 

var is_secure = "false"; 
(...) 

任何想法,我怎麼能做類似的事情?非常感謝您......

+0

我不明白你在問什麼。如果用戶能夠獲取這些數據,那麼您需要使用PHP編寫數據,還是需要保持私人數據。問題的這一部分有些模糊。 –

+0

您需要添加一個apache處理程序來將js文件解析爲PHP,或者將該文件命名爲'something.js.php',然後將相應地進行渲染。 –

+0

這是'回聲「真」/「假」'工作?你之間有一個'/',對於我來說是真實的事情,而且是假的......並且將是一個例外,因爲除以0 –

回答

1

你可能只是一切之前創建這一行你的PHP文件:

header("Content-Type: application/javascript"); 
+0

'

0

編輯:

我誤解了這個問題。如果你想在一個php文件JS,你應該做的是這樣的:

header("Content-Type: application/javascript"); 





OLD答:

我不知道你是否知道,但客戶端可以「看不到你的PHP代碼...

所以,如果您想:

echo "Something" 

客戶端只會看到一些東西。

目前還不清楚,你要怎麼辦...

如果你不想看到的東西,當你直接進入你的「祕密」 PHP頁面,那麼你應該做這樣的:

JS:

jQuery.ajax({ 
     type: "POST", 
     url: 'secretfile.php', 
     dataType: 'html', 
     data: {apiRequest: 1}, 
     success: function (response) { 
      yourVar = response; 
     } 
}); 

PHP:

If ($_POST['apiRequest']==1){ 
    echo "Something"; 
} 

yourVar會=「東西「

如果你要到這個頁面,它不會顯示任何東西;

+0

我不知道你是否知道,但你完全誤解了這個問題 – Fane

+0

@Fane:怎麼回事 – 2015-10-19 17:26:05