这是我的代码,我想将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'])是真的?
答案 0 :(得分:4)
您的解决方案存在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 } ?>
答案 1 :(得分:2)
尝试jQuery Form这将有助于解决许多问题。
对于你的问题:尝试没有域名的网址,添加标签'表单',更改事件点击提交,添加数据类型
答案 2 :(得分:2)
Pass Variable.php的内容是什么?如果你有他们的jquery位不会工作相同cuz php将再次打印所有页面,如果文件不同尝试
success: function(data) {
alert('databack = '+ data);
}
答案 3 :(得分:1)
尝试将输入放入表单并将ajax调用附加到表单onsubmit事件。它在提供的事件中发生的方式是当你在字段中单击时,在这种情况下它会在你真正写出任何内容之前提交。
答案 4 :(得分:1)
$(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错误并将其删除。