我是jquery
的新用户,我从其他网站了解到这一点,我正在尝试从ajax
收到帖子值,但它没有收到任何内容。这是我的代码: -
的index.html
<form id="refresh_form" name="refresh_form">
<input type="hidden" name="minlat" id="minlat" value="1">
<input type="hidden" name="minlong" id="minlong" value="1">
<input type="hidden" name="maxlat" id="maxlat" value="1">
<input type="hidden" name="maxlong" id="maxlong" value="1">
<button id="refreshbutton" onclick="callAPI();">Refresh</button>
</form>
<script>
function callAPI() {
$.ajax({
type: 'POST',
url: 'getData.php',
dataType: 'json',
data: $("#refresh_form").serialize(),
//data: postForm,
cache: false,
contentType: false,
processData: false,
success: function(data) {
// Display a map on the page. Obviously this needs to be done only once.
if (firstTimeLoaded == false) {
firstTimeLoaded = true;
mapOptions = {
mapTypeId: 'roadmap'
};
map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
map.setTilt(45);
}
initialize(data);
}
});
}
</script>
访问getdata.php
if(isset($_REQUEST['minlat'])){
$data = $_REQUEST['minlat'];
echo json_decode($data);
exit;
}
有什么理由不起作用?从我的控制台,我看到这些数据正在发送。
答案 0 :(得分:0)
您需要使用
if(isset($_POST['minlat'])){
$data = $_POST['minlat'];
echo json_decode($data);
exit;
}
自type: 'POST'
答案 1 :(得分:0)
我不确定,因为我还没有检查过,但试试这个:
function callAPI() {
$.ajax({
type: 'POST',
url: 'getData.php',
dataType: 'json',
data: {"minlat":$("#refresh_form").serialize()},
//data: postForm,
cache: false,
contentType: false,
processData: false,
success: function(data) {
// Display a map on the page. Obviously this needs to be done only once.
if (firstTimeLoaded == false) {
firstTimeLoaded = true;
mapOptions = {
mapTypeId: 'roadmap'
};
map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
map.setTilt(45);
}
initialize(data);
}
});
}
答案 2 :(得分:0)
你的代码看起来很好,请在服务器端测试$ _POST变量是否填满
<?php
print_r($_POST);
die();
在浏览器的检查中检查网络选项卡。
如果仍然无法正常工作,请检查.htaccess fil,是否已写入.htaccess文件中的重定向规则。如果有重定向规则,则将其删除。