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的客户端。 –