2014-11-10 5 views
0

AJAX 요청 작동을 가져올 수 없습니다. PHP에서 데이터를받을 수 있지만 데이터를 보낼 수 없습니다.javascript에서 PHP로 변수를 전달할 수 없습니다.

JAVASCRIPT

<script type="text/javascript"> 
$("#btnSubmit").click(function() { 
$.ajax({ 
    type: 'POST', 
    url: 'checkinfo.php', 
    data: { address: "37.187.139.123", port: "26618" }, 
    dataType: 'json', 
    async: true, 
    success: function(data) 
    { 
    alert(data); 
    } 
}); 
}); 

PHP

<?php 
$SERVER_IP = $_REQUEST['address']; 
$SERVER_PORT = $_REQUEST['port']; 
$QUERY_PORT = $_REQUEST['port']; 

$HEADS = "3D"; 
$show_max = "unlimited"; 
$SHOW_FAVICON = "on"; 

$TITLE = "My fancy Serverpage"; 
$TITLE_BLOCK_ONE = "General Information"; 
$TITLE_BLOCK_TWO = "Players"; 

$ping = json_decode(file_get_contents('http://api.minetools.eu/ping/' . $SERVER_IP . '/' . $SERVER_PORT . ''), true); 
$query = json_decode(file_get_contents('http://api.minetools.eu/query/' . $SERVER_IP . '/' . $QUERY_PORT . ''), true); 

if(empty($ping['error'])) { 
$version = $ping['version']['name']; 
$online = $ping['players']['online']; 
$max = $ping['players']['max']; 
$motd = $ping['description']; 
$favicon = $ping['favicon']; 
} 

if(empty($query['error'])) { 
    $playerlist = $query['Playerlist']; 
} 

echo $SERVER_IP; 

?> 
내가 $의 SERVER_IP = "1"로 설정 시도

; 내 버튼을 클릭 할 때 알림 "1"을 성공적으로 받았으므로 위치가 정확합니다. 그러나 데이터 : 어떻게 든 통과하고 싶지 않다. 그리고 나는 이유를 모른다. 나는 또한 $ _REQUEST 대신 $ _POST를 사용하여 시도했다.

답변

0

dataTypejson 인 경우 데이터는 json_encode d 여야합니다.

die(json_encode($result)); 

그렇지 않으면, text/html 이상 적용 뭔가 사용합니다.

$.ajax({ 
    type: 'POST', 
    url: 'checkinfo.php', 
    data: { address: "37.187.139.123", port: "26618" }, 
    dataType: 'json', 
    async: true, 
    success: function(data) 
    { 
    alert(data); 
    }, 
    error: function(response) { 
     console.log(error=response); 
    } 
}); 

당신은 JS 콘솔에서 변수 error에 액세스 할 수 있습니다 (F12 도구)

jQuery $.ajax docs

+0

고맙습니다! dataType을 html로 변경하면 완벽하게 작동했습니다! –

0

나는이 방법을 사용합니다 : 을 당신은 가능성이 오류 함수에서 PHP 응답을 찾을 수 있습니다. .. dataType: "json" }).done(function(response){ ...

그래서 "json"이후에 쉼표 (,)를 사용하면 안되며 주소와 포트를 따옴표로 묶어야합니다 (예 : 'address': variable, 'port': variable

012).

도와 드리겠습니다.

관련 문제