我不知道我想要做什麼會對你有任何意義,但在這裏你走。 我試圖執行到if/else。這是我想要做的一個例子。執行PHP代碼基於Javascript條件
<?php
if //Here I would like to execute <script></script>
{
// Then here execute some php code
}
else
{
//do nothing
}
?>
我不知道這樣的事情是否可能。這樣做使用AJAX的
我不知道我想要做什麼會對你有任何意義,但在這裏你走。 我試圖執行到if/else。這是我想要做的一個例子。執行PHP代碼基於Javascript條件
<?php
if //Here I would like to execute <script></script>
{
// Then here execute some php code
}
else
{
//do nothing
}
?>
我不知道這樣的事情是否可能。這樣做使用AJAX的
一個例子是下面的jQuery代碼:
<script type="text/javascript" src='yourotherfile.js'></script>
<script type="text/javascript">
if (functionFromOtherFile()) {
$.get('somephpfile.php', function(data) {
$("#output").text(data);
}
} else {
$.ajax({
url: "somethingelse.php",
context: $("#output")
}).done(function() {
alert("Request completed.");
});
}
</script>
在"prototype",它看起來是這樣的:
<script type="text/javascript">
new Ajax.Request('somephpfile.php',
{
method: 'get',
onSuccess: function(data) {
// do something with data.responseText
}
});
</script>
Arjan直白地試圖解釋的是,這裏的'condition'將是JavaScript計算的結果,然後決定是否執行一個PHP塊 – Bojangles
我實際想要做的是將作爲我的狀況 –
編輯我的答案。不知道這是你想要的。 – 2013-08-06 22:07:37
是可能的。
<?php if(true):?>
<script>
//js goes here
</script>
<?php else:?>
//other
<?php endif?>
不,問題是關於'if(...)'部分的JavaScript。 – Arjan
不,你不能以你建議的方式用JS執行PHP代碼。 PHP將在您的服務器上編譯並提供,然後發送線路。這是網站「前端」和「後端」組件背後的想法。
但是,您可以使用JS(谷歌「AJAX」)向您的服務器發出請求,以執行您想要的任何類型的後端語言。然後,當你的後端響應時,你可以告訴JS改變DOM,或者做任何你喜歡的事情。
希望有幫助!
我會檢查出來。感謝您的幫助 –
從你的意見,我會說可能會有一點誤解,Javascript和PHP如何工作或如何相互作用。
這就像一個稱爲PHP的披薩配送服務:您可以點一份帶有火腿的比薩餅,但是當送貨員馬上到達您的門口時,要訂購菠蘿就要遲到了。你可以在家中對比薩做一些改變,比如吃它,但不會有菠蘿。基本上你原來的帖子就像是「告訴送貨員吃比薩餅」,或者用另一種方式說出來 - 這是行不通的。
您可以訂購一個新的比薩(這將是我的例子),或聘請另一個送貨員向您發送您的菠蘿片(這將是AJAX方法)。
您不必使用AJAX。你可能想試試這個(index.php)並檢查這個行爲對你是否有用。
此示例設有:一個條件對客戶端
[...]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Simple JavaScript Example</title>
</head>
<body>
<h2>This is some test</h2>
<form action="index.php" method="get">
<input type="hidden" name="condition" />
<input type="submit" value="Do something" />
</form>
<script type="text/javascript">
<?php
if ($_GET["condition"]!="blueconditionistrue"){
?>
document.body.style.backgroundColor = "rgb(0, 0, 255)";
<?php
} else { echo "alert('That blue was awful, I fixed it for you');"; }
?>
if (document.body.style.backgroundColor == "rgb(0, 0, 255)"){
document.forms[0].condition.value = "blueconditionistrue";
}
</script>
</body>
</html>
你不能混用PHP和JavaScript。在訪問者獲取html文檔之前執行php,並在訪問者獲取html文檔後執行javascript。 – twinlakes
您可以通過評估客戶端的表達式並將結果發送到PHP服務器... –
從我收集的內容中,OP想要在JavaScript中執行條件並執行PHP代碼。當然,沒有AJAX或類似的東西是不可能的。 – 2013-08-06 21:48:20