2016-08-30 5 views
1

저는 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

+0

(getDATA.php) print_r ($ _REQUEST); 주사위(); –

+0

'contentType : false '를 사용하는 이유는 무엇입니까 ?? – devpro

+0

@SalvadorP. 아무것도 ... 나는 단지 이유를 이해하지 못한다. – NickyMan

답변

0

enter image description here

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

    echo json_decode($data); 
    exit; 
} 

이후 type: 'POST'

+0

그게 문제인지 모르겠다. $ _REQUEST는 $ _GET, $ _POST, $ _COOKIE의 내용을 포함하고있다. –

+0

시도했는데 아무 것도 표시하지 않습니다 – NickyMan

+0

물론 왜 $ _REQUEST [ 'minlat']의 json_decode를 원하십니까? – MaximeK

0

내가 아직 확인하지만,이 하나를 시도하지 않은 것처럼 확실하지 않다 :

,033,210
0

당신의 코드가 잘 보이는, 서버 측 $의 _POST 변수를 테스트 해가 가득 여부를

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

은 브라우저의 검사에서 네트워크 탭의 응답을 확인한다.

그래도 작동하지 않으면 .htaccess fil, 을 확인하십시오. 리디렉션 규칙에 대한 .htaccess 파일을 체크 인하십시오. 리디렉션 규칙이 있으면 제거하십시오.

관련 문제