[英]How to POST jQuery variables to PHP in same page?
我的两个jQuery代码和PHP代码在同一个PHP文件(而不是两个单独的文件)。
我想将 jQuery 变量发布到 PHP 代码。
但它在运行 PHP 文件时显示一些错误(“未定义索引”)。
PHP文件如下(test.php)。
<?php
$country = $_POST['userCountry'];
$ip = $_POST['userIp'];
echo $country;
echo $ip;
?>
<html>
<head><title></title>
<script src = "jquery.min.js"></script>
<script>
$.getJSON("http://freegeoip.net/json/", function(data) {
var country = data.country_name;
var ip = data.ip;
$.ajax({
method:"POST",
url:"test.php",
data:{userCountry:country, userIp:ip}
});
});
</script>
</head>
<body></body>
</html>
<?php
if(!empty($_POST)){
$country = $_POST['userCountry'];
$ip = $_POST['userIp'];
echo $country;
echo $ip;
}
?>
<html>
<head><title></title>
<script src = "jquery.min.js"></script>
<script>
$(document).ready(function(){
$.getJSON("http://freegeoip.net/json/", function(data) {
var country = data.country_name;
var ip = data.ip;
$.ajax({
method:"POST",
url:"test.php",
data:{userCountry:country, userIp:ip},
success:function(result){
$('body').html(result);
}
});
});
});
</script>
</head>
<body></body>
</html>
试试这个代码。 刚测试好
我不确定这是想要的结果......
但它看起来像。 所以试试这个:
(已编辑)
<html>
<head><title></title>
<script src = "https://code.jquery.com/jquery-1.12.0.min.js"></script>
</head>
<body>
<div id="result1"></div>
<br>
<div id="result2"></div>
<script>
$(document).ready(function(){
var country;
var ip;
$.getJSON("http://freegeoip.net/json/", function(data) {
country = data.country_name;
ip = data.ip;
console.log(country+" "+ip);
$("#result1").append(country);
$("#result2").html(ip);
});
});
</script>
</body>
</html>
请注意,没有 PHP 或 $.ajax... 只有 $getJSON。
那是因为 PHP 在服务器上编译,而 jQuery 在客户端编译。 您将两者保存在同一个文件中。 所以当 ajax 运行时,PHP 已经被编译,因此给你消息 undefined 。 为 PHP 部分创建一个单独的文件或使用isset()
并在提交数据后使用 jQuery 刷新页面。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.