如何使用jQuery更改PHP文件中的参数?这是我的代码,我不明白为什么当我点击按钮时$val
的值不会改变:
<!DOCTYPE html>
<html>
<head>
<script src="js/jquery-1.10.2.min.js">
</script>
</head>
<body>
<script>
$(document).ready(function(){
$("button").click(function(){
$("#test").hide();
$.get( "jqueryphp.php", { name: "John", time: "2pm" } );
});
});
</script>
<h2>This is a heading</h2>
<p>This is a paragraph.</p>
<p id="test">This is another paragraph.</p>
<button>Click me</button>
<?php
if(isset($_GET['time'])) $val=$_GET['time'];
else $val='parametru ne transmis 0';
echo "<br>".$val."</br>"
?>
</body>
</html>
答案 0 :(得分:2)
当您在浏览器中加载页面时,浏览器向服务器发出HTTP请求,获取响应并呈现它。
当您使用Ajax时,浏览器向服务器发出HTTP请求,获取响应并使其可供JavaScript使用。
不自动修改当前页面 。该页面已在之前的回复中收到。
您必须编写JavaScript以使用它在响应中获得的数据(使用您当前的方法,这是通过将函数作为第三个参数传递到页面的$.get
到manipulate the DOM来完成的。< / p>
答案 1 :(得分:1)
问题似乎在这里:
if(isset($_GET['time'])) $val0=$_GET['time'];
else $val='parametru ne transmis 0';
echo "<br>".$val."</br>"
$val0
与$val
的对比是什么?不应该只是$val
吗?此外,最后一行echo
毫无意义。该行末尾没有;
。关于"<br>".$val."</br>"
<br />
,这是一个换行符。不是你必须打开的元素&amp;关。你希望它之前有一个换行符吗?后?我这样假设。这是我对此的清理。应该工作:
if (array_key_exists('time', $_GET) && !empty(trim($_GET['time']))) {
$val = $_GET['time'];
}
else {
$val = 'parametru ne transmis 0';
}
echo '<br />' . $val . '<br />';
我还将if(isset($_GET['time']))
更改为更强大的内容。因为即使设置了$_GET['time']
,也不意味着它有值。