使用ajax将javascript变量传递给php,结果不会';我什么也没表现出来
这是我的代码,当我单击submit按钮时,我想通过ajax将javascript变量传递给php,然后结果不会显示来自javascript的var_数据变量什么代码错了? 在大家帮助我之前,这是编辑订单一使用ajax将javascript变量传递给php,结果不会';我什么也没表现出来,php,javascript,ajax,Php,Javascript,Ajax,这是我的代码,当我单击submit按钮时,我想通过ajax将javascript变量传递给php,然后结果不会显示来自javascript的var_数据变量什么代码错了? 在大家帮助我之前,这是编辑订单一 <!DOCTYPE html> <html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<!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>
$(文档).ready(函数(){
$('#sub')。单击(函数(){
var var_data=“你好世界”;
$.ajax({
网址:'http://localhost/ajax/PassVariable.php',
键入:“GET”,
数据:{var_PHP_data:var_data},
成功:功能(数据){
//做点什么;
}
});
});
});
这就是现在的源代码
<?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 } ?>
$(文档).ready(函数(){
$('#sub')。单击(函数(){
var var_data=“你好世界”;
$.ajax({
网址:'http://localhost/test.php',
键入:“GET”,
数据:{var_PHP_data:var_data},
成功:功能(数据){
//做点什么;
$('#result').html(数据)
}
});
});
});
如果(isset($\u GET['var\u PHP\u data'])输出为false,然后向Hello World显示我应该为isset($\u GET['var\u PHP\u 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错误并将其删除。试试它。这将有助于解决许多问题
为您解答的问题:尝试不带域名的url,添加标签“表单”,更改事件点击提交,添加数据类型PassVariable.php的内容是什么?如果与您的位置相同,jquery位将无法工作,因为php将再次打印所有页面,如果文件不同,请尝试
success: function(data) {
alert('databack = '+ data);
}
您的解决方案存在PHP问题:您不检查数据是否存在,也不对结果进行任何处理。我已修改脚本以执行以下操作:
#result
div
以确保您使用的脚本正确无误
<?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 } ?>
$(文档).ready(函数(){
$('#sub')。单击(函数(){
var var_data=“你好世界”;
$.ajax({
网址:'http://localhost/test.php',
键入:“GET”,
数据:{var_PHP_data:var_data},
成功:功能(数据){
//做点什么;
$('#result').html(数据)
}
});
});
});
避免为变量名称使用系统定义的关键字。表单标记在哪里?这样使用
如果表单正在向自身发布,则操作可以是“”。我无法重现您的错误,我可以看到$\u GET['var\u PHP\u data']
显示Hello World
。尝试成功:警报('success!');它能工作吗?我试着提醒('success!')它能工作,但$\u GET['var\u PHP\u data']仍然不能显示Hello World并将jQuery更新到新版本(对于新浏览器,为1.9或2.0)当我点击submit it show same page(提交显示相同的页面)时,我会尝试按照您的代码进行操作,ajax不会对此div中显示的响应。好的,我将更改为var_PHP_数据应该做些什么var_数据已设置?这是…的第一部分,然后再次执行其余部分。或者您可以对var_PHP_数据执行一些操作,如更改、反转、大写,用它检查数据库里的东西,随便什么。这取决于你的需要。