无法检索ajax发布数据

时间:2016-08-30 09:54:18

标签: php jquery ajax

我是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;
}

有什么理由不起作用?从我的控制台,我看到这些数据正在发送。

enter image description here

enter image description here

3 个答案:

答案 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文件中的重定向规则。如果有重定向规则,则将其删除。