我需要获取 javascript 变量的值并将其放入 mysql 数据库中。我试图在(test.html)中使用jquery ajax函数将变量发布到单独的PHP文件(external.php)。我不确定为什么它不起作用,我将不胜感激任何见解。这是我的两个文件:
这是 test.html:
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<meta charset="utf-8">
</head>
<body>
<script>
$(document).ready(function () {
var longitude = "print a longitude";
$.ajax({
url: "external.php",
method: "POST",
data: { "longitude": longitude }
});
});
</script>
</body>
</html>
这是 external.php:
<?php
$longitude = $_POST['longitude'];
echo json_encode($longitude);
?>
最佳答案
下面的代码对我来说工作得很好:
external.php 文件:
<?php
header('Content-Type: application/json');
$longitude = $_POST['longitude'];
echo json_encode($longitude);
?>
test.html 文件:
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<meta charset="utf-8">
</head>
<body>
<script>
$(document).ready(function () {
var longitude = "print a longitude";
$.ajax({
url: "external.php",
method: "POST",
dataType: "json",
data: { "longitude": longitude },
success: function(data){
console.log(data);
}
});
});
</script>
</body>
</html>
此外,请确保您没有以以下方式运行文件:
file:///C:/Users/XXX/Desktop/XAMPP/htdocs/test.html
如果你像这样运行它,你会得到这个错误:
XML Parsing Error: no root element found
Location: file:///C:/Users/XXX/Desktop/XAMPP/htdocs/external.php
Line Number 5, Column 3:
您需要做的是运行 Apache,然后运行该文件:
http://localhost/test.html
下面是我得到的屏幕截图:
关于javascript - 如何使用ajax将javascript变量中的值放入php变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47734110/