我的頁面混合使用Javascript和php。 Javascript被用來從幾個選擇中選擇一個字符串。然後一些php代碼需要對這個字符串做些什麼。如何在同一頁上將Javascript字符串傳遞給php
我已經看到一些似乎在討論在不同網頁上傳遞變量的例子。我只是在一頁上完成這一切,我試圖傳遞的是一個字符串。
我想另一種解決方案是使用PHP來選擇字符串,如果這是可能的?
我的頁面混合使用Javascript和php。 Javascript被用來從幾個選擇中選擇一個字符串。然後一些php代碼需要對這個字符串做些什麼。如何在同一頁上將Javascript字符串傳遞給php
我已經看到一些似乎在討論在不同網頁上傳遞變量的例子。我只是在一頁上完成這一切,我試圖傳遞的是一個字符串。
我想另一種解決方案是使用PHP來選擇字符串,如果這是可能的?
當瀏覽器呈現頁面時,PHP已完成作業並關閉連接。
要傳遞一些在客戶端使用js確定的值,您需要一個新的請求。這意味着你需要使用Ajax。
下面的回答者展示瞭如何在沒有Ajax的情況下做到這一點? – 2012-03-06 21:07:57
當他說「你需要通過JavaScript向服務器發送請求」時,他的意思是AJAX。 – bfavaretto 2012-03-06 21:11:17
您需要通過JavaScript向服務器發送請求,因爲PHP是服務器端語言。您可以使用POST或GET變量將字符串發送到同一頁面,然後添加PHP代碼以在頁面加載時檢查該變量。
的PHP會是這樣的:
if(isset($_POST['string'])) {
// do something with the string
}
此方法不使用Ajax? – 2012-03-06 21:27:23
你可以這樣做,一個頁面重新加載或通過AJAX。儘管如果你使用AJAX來做,你可能想要分開處理字符串的PHP代碼,只是爲了清楚起見。 – 2012-03-07 15:35:14
PHP解析數據的服務器端(前的頁面加載),而JavaScript的上頁面加載處理一切瀏覽器端(或後)。你不可錯過的JavaScript到PHP的功能,除非你使用AJAX來發送PHP腳本變量:
的JavaScript
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js">
<script type="text/javascript">
// Find whatever string you need
var something = $('.input').val();
$(function() {
$.ajax({
url: '/path/to/php_script.php',
type: 'POST',
data: 'variable='+something,
success: function(data) {
$('.display_div').html(data);
}
});
});
</script>
PHP
$something = $_POST['variable'];
// Do something with it
echo strlen($something);
什麼是php_script.php?這是所有代碼所在頁面的名稱嗎? – 2012-03-06 21:06:09
php_script.php只是我編寫的一個示例PHP文件。你需要把所有修改你的字符串的PHP放到這個單獨的文件中 – hohner 2012-03-06 21:07:21
那麼在你的例子中,那個PHP代碼會進入其他文件? – 2012-03-06 21:12:34
所有你想做的事就是從pageA傳遞一個字符串到pageB? 您應該嘗試將該字符串作爲「URL的一部分」或「POST請求」發送,或者在最糟糕的情況下使用「cookies」。 – 2012-03-06 21:00:15
如果你解釋字符串是什麼以及你想用它做什麼,你可能會得到更好的答案。 JS和PHP是否在同一頁上並不重要。首先執行PHP,然後將結果(文本)發送到瀏覽器,並將其評估爲JavaScript和HTML。 – 2012-03-06 21:02:15
將一個JavaScript變量傳遞給PHP的唯一方法是向PHP腳本發送一個POST或GET方法,但這不能在沒有重新加載頁面的情況下完成。如果你這樣做的話,你可能只需要使用PHP從頁面上的表單元素獲取輸入''<?php $ example = $ _ POST ['example_form_name'];''。否則,您可能需要更詳細地描述腳本。 – 2012-03-06 21:02:36