0
我是新來的,所以我希望你能幫助我。將javascript值傳遞給精確頁面而不刷新
我試圖建立一個頁面有能力添加和從sqldb刪除。
由於某些原因,我必須將價值從js發送到php,我嘗試使用這個基本代碼,但它不起作用。
<html>
<head>
<script src="resources/js/jquery-2.2.3.js"> </script>
</head>
<body>
<form method="get">
<input type="button" value="submit" name="submit" class="test">
</form>
<div id="state"></div>
</body>
<script type="text/javascript">
$('.test').click(passValue);
function passValue(e){
document.getElementById('state').innerHTML="button is clicked";
var js_var = "xml recevid";
var xhr = new XMLHttpRequest();
var url = 'test.php?js_var=' + js_var;
xhr.open('GET', url, false);
xhr.onreadystatechange = function() {
if (xhr.readyState===4 && xhr.status===200) {
document.getElementById('state')xhr.responseText;
}
}
xhr.send();
}
</script>
<?php
if (isset($_GET['js_var'])) $php_var = $_GET['js_var'];
else $php_var = "<br />js_var is not set!";
echo $php_var;
?>
您需要澄清_「不起作用」_。控制檯中的錯誤?檢查瀏覽器網絡選項卡「test.php」實際返回的內容?檢查了您的錯誤日誌中的PHP錯誤?你可能也想在你的'passValue'函數中放一個'e.preventDefault()'來阻止表單提交。 –
更改'document.getElementById('state')xhr.responseText;'到'document.getElementById('state')。innerHTML = xhr.responseText;' –
順便說一句,你的PHP代碼與javascript相同嗎?然後你的ajax調用將返回'。你不能在PHP中運行JavaScript。 –
是的,你可以。嘗試$ php_var =''; –
就像我說的那樣,這隻會給你一個變量_with那個文字text_。如果你迴應它,它將被髮送到瀏覽器,它將解析爲JavaScript。 PHP將不會使用該JavaScript代碼片段中的_results_。在服務器上解析PHP get,結果將被髮送到解析任何html/js/css的客戶端。 –