使用ajax将javascript变量传递给php,结果不会;我什么也不展示
Pass javascript variable to php with ajax and the result doesn't show anything
这是我的代码,当我点击提交按钮时,我想将带有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 } ?>
如果(isset($_GET['var_PHP_data']((输出false,然后显示Hello World我应该为isset做什么?
您的解决方案存在PHP问题:您不检查数据是否存在,也不处理结果。我修改了脚本以执行以下操作:
- 检查是否设置了var_PHP_data var(在PHP中,在服务器上(
- 如果是,只需发送一个包含该数据的空白文本响应
- 如果没有,则绘制表单和其他所有内容
- 在表单中,我创建了一个
#result
div - Ajax响应将显示在这个div中
还要确保您在localhost上托管该脚本,并且它被称为test.php。为了确保这是有弹性的,您可以将Ajax URL更改为<?php echo $_SERVER['PHP_SELF'];?>
,以确保您将命中正确的脚本。
<?phpif(isset($_GET['var_PHP_data'](({echo$_GET['var_PHP_data'];}其他{?><!DOCTYPE html><html><头部><script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"><脚本>$(document(.ready(function({$('#sub'(.click(function(({var var_data="你好世界";$.ajax({url:'http://localhost/test.php',类型:"GET",数据:{var_PHP_data:var_data},成功:函数(数据({//做某事;$('#result'(.html(数据(}});});});<脚本><头部><身体><input type="submit"value="submit"id="sub"/><div id="result"><身体><html><?php}?>
试试jQuery Form,这将有助于解决许多问题。
对于您的问题:尝试不带域名的url,添加标签"表单",更改事件点击提交,添加数据类型
PassVariable.php的内容是什么?如果是相同的地方,他们jquery位不会工作,因为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错误并将其删除。
相关文章:
- 什么'这是从第三个函数上的async 1st函数获得结果的更好方法
- knex:根据结果创建数组的合适方法是什么
- 我的localStorage结果显示了[null,null,“something”]],而不是“”;什么”;
- 绑定返回的结果和使用function()的结果之间有什么区别
- 基准测试js的结果是什么意思
- Prototype.js 1.7:将collect与显式函数一起使用会返回与内联函数不同的结果,原因是什么
- 操作 RxJS 流并发布结果的可观察量的正确方法是什么?
- 我正在尝试删除重复项并返回结果.我错过了什么
- 使用jquery的结果之间有什么区别
- 什么'It’为什么要做一个没有结果的条件
- 为什么我从两个函数中得到两个不同的结果;利用闭包似乎没有什么不同
- 当你想要所有结果而不管是否被拒绝时,用什么代替Promise.all()
- 什么'这是处理promise对象中错误结果的正确方法
- DOJO:以某种格式从RESTful API获取JSON结果,以及接下来要做什么来解析结果并将其放入变量中
- javascript中element.focus()方法的结果是什么
- 我可以调用什么来过滤字符串结果?
- 使用$resource并在多个控制器之间共享结果的最佳实践是什么?
- 为什么console.trace()的结果以一个“匿名函数”结束?这个函数是什么?
- 使用ajax将javascript变量传递给php,结果不会;我什么也不展示
- 将结果变量保留在for循环之外(Javascript)的区别是什么?