2016-08-30 2 views
1

Я новичок в jquery, я изучаю это с другого сайта, я пытаюсь получить значения сообщений из ajax, но ничего не получает. Вот мой код: -Не удалось получить данные ajax post

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

+0

in getDATA.php проверить, что вы получаете с print_r ($ _ ЗАПРОС); умереть(); –

+0

любая причина использования 'contentType: false,' ?? – devpro

+0

@ SalvadorP. Ничего ... Я просто не понимаю, почему. – NickyMan

ответ

0

Вы должны использовать что

if(isset($_POST['minlat'])){ 
    $data = $_POST['minlat']; 

    echo json_decode($data); 
    exit; 
} 

С его type: 'POST'

+0

Я не уверен, что это проблема, $ _REQUEST содержит содержимое $ _GET, $ _POST, $ _COOKIE. –

+0

Я пробовал, ничего не показывает – NickyMan

+0

Конечно, но зачем вы хотите json_decode $ _REQUEST ['minlat']? – MaximeK

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); 
    } 
}); 
} 
0

Вы код выглядит хорошо, пожалуйста, тест на сторону сервера переменного $ _POST заполняется или не

<?php 
print_r($_POST); 
die(); 

Проверьте это в ответ на вкладке сети в браузере инспектировать.

Если все еще не работает, проверьте .htaccess fil, Проверьте файл .htaccess для правильного перенаправления. если существует правило перенаправления, удалите его.