![](/img/trans.png)
[英]Passing variable from JavaScript to PHP using AJAX doesn't show anything
[英]Pass javascript variable to php with ajax and the result doesn't show anything
这是我的代码,我想将javascript变量与ajax传递给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 } ?>
这句话如果(isset($ _ GET ['var_PHP_data']))输出false然后显示Hello World我该怎么做才能为isset做什么($ _ GET ['var_PHP_data'])是真的吗?
您的解决方案存在PHP问题:您不检查数据是否存在,并且您不对结果执行任何操作。 我已修改脚本以执行以下操作:
#result
div。 还要确保您在localhost上托管脚本,并将其命名为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 } ?>
试试jQuery Form,这将有助于解决许多问题。
对于你的问题:尝试没有域名的网址,添加标签'表单',更改事件点击提交,添加数据类型
PassVariable.php的内容是什么? 如果是相同的你在哪里他们jquery位不会工作coz php将再次打印所有页面,如果文件不同尝试
success: function(data) {
alert('databack = '+ data);
}
尝试将输入放入表单并将ajax调用附加到表单onsubmit事件。 它在提供的事件中发生的方式是当你在字段中单击时,在这种情况下它提交之前你可以真正写任何东西。
$(document).ready(function() {
$('#brn').click(function() {
var var_data = "Hello World";
alert("click works");
$.ajax({
url: 'http://localhost/ajax/PassVariable.php',
type: 'GET',
data: { x: var_data },
success: function(data) {
alert(data);
}
});
});
});
将其更改为此代码
然后在PassVariable.php中放
制作按钮
<input type="button" id="btn" value="click me" />
它应该工作,因为它是非常基本的例子。 如果它不起作用,请检查您的控制台是否存在任何JavaScript错误并将其删除。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.