这是我的代码,我想在单击提交按钮时将带有 ajax 的 javascript 变量传递给 php,然后结果不显示来自 javascript 的 var_data 变量什么代码有问题? 这是大家帮助我之前的编辑命令
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script>
$(document).ready(function() {
$('#sub').click(function() {
var var_data = "Hello World";
$.ajax({
url: 'http://localhost/ajax/PassVariable.php',
type: 'GET',
data: { var_PHP_data: var_data },
success: function(data) {
// do something;
}
});
});
});
</script>
</head>
<body>
<input type="submit" value="Submit" id="sub"/>
<?php
$test = $_GET['var_PHP_data'];
echo $test;
?>
</body>
</html>
这是源代码
<?php
if (isset($_GET['var_PHP_data'])) {
echo $_GET['var_PHP_data'];
} else {
?>
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js"></script>
<script src="http://malsup.github.com/jquery.form.js"></script>
<script>
$(document).ready(function() {
$('#sub').click(function() {
var var_data = "Hello World";
$.ajax({
url: 'http://localhost/test.php',
type: 'GET',
data: { var_PHP_data: var_data },
success: function(data) {
// do something;
$('#result').html(data)
}
});
});
});
</script>
</head>
<body>
<input type="submit" value="Submit" id="sub"/>
<div id="result">
</body>
</html>
<?php } ?>
这条语句 if(isset($_GET['var_PHP_data'])) 输出 false 然后显示 Hello World What should i do to do for isset($_GET['var_PHP_data']) is true?
最佳答案
您的解决方案存在 PHP 问题:您不检查数据是否存在,也不对结果执行任何操作。我修改了脚本以执行以下操作:
- 检查是否设置了 var_PHP_data 变量(在 PHP 中,在服务器上)。
- 如果是,请发送包含该数据的空白文本响应。
- 如果不是,则绘制表格和其他所有内容。
- 在表单中,我创建了一个
#result
分区 - Ajax 响应将显示在此 div 中。
还要确保将脚本托管在本地主机上,并将其命名为 test.php。为确保这是有弹性的,您可以将 Ajax URL 更改为
<?php echo $_SERVER['PHP_SELF'];?>
以确保您会点击正确的脚本。
<?php if (isset($_GET['var_PHP_data'])) { echo $_GET['var_PHP_data']; } else { ?> <!DOCTYPE html> <html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"> <script> $(document).ready(function() { $('#sub').click(function() { var var_data = "Hello World"; $.ajax({ url: 'http://localhost/test.php', type: 'GET', data: { var_PHP_data: var_data }, success: function(data) { // do something; $('#result').html(data) } }); }); }); </script> </head> <body> <input type="submit" value="Submit" id="sub"/> <div id="result"> </body> </html> <?php } ?>
关于php - 使用 ajax 将 javascript 变量传递给 php,结果不显示任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16434482/