2013-07-17 6 views
0

json Array를 Ajax를 통해 원격 PHP 서버로 보내려고하지만 "ParserError"만 가져옵니다. 는PhoneGap에서 Json을 원격 PHP 서버로 보내기

아약스

$.ajax({ 
    dataType : 'jsonp', 
    jsonp : 'jsonp_callback', 
    data : { 
     button : "test" 
    }, 
    url : 'http://www.my-server.de/file.php', 
    success : function(sqlArray) { 
     alert(sqlArray); 
    }, 

    error : function(jqXHR,textStatus,errorThrown) { 
     alert(jqXHR); 
     alert(textStatus); 
     alert(errorThrown); 
    } 
}); 

PHP 감사

<?php 
echo "Button ist"; 
echo $_GET['button']; 
?> 

업데이트 :

감사합니다,하지만 난 단지 JSON 개체의 값을 쓰고 싶어요. 이제는 보내는 작업이지만 PHP 사이트에서는 값을 쓰지 않습니다.

function postJSON(){ 
$.ajax({ 
    type: "GET", 
    url: "http://www.my-server.de/file.php", 
    data: { 'dataString': "juhu" }, 
    cache: false, 
    success: function() 
     { 
      alert("Order Submitted"); 
     }, 
     error: function() 
     { 
      alert("Error"); 
     } 
    }); 

PHP :

<?php 
echo "Value is:"; 
echo $_GET['dataString']; ?> 
+0

json 데이터를 기다리고 있습니다. PHP 스크립트는 아무 것도 반환하지 않습니다. 최소한 echo : echo json_encode (array());를 사용하여 여전히 오류가 발생하는지 확인하십시오. – Brewal

답변

0

단지의로 json_encode() 늘 일을하고 있어요.

public static function renderJsonp($object) { 
     header('Content-Type: text/javascript; charset=utf8'); 
     header('Access-Control-Allow-Origin: *'); 
     header('Access-Control-Max-Age: 3628800'); 
     header('Access-Control-Allow-Methods: GET, POST, PUT, DELETE'); 

     header('Content-type: application/json; charset=utf-8'); 

     $callback = "callback"; 
     if(isset($_GET['callback'])) $callback = trim($_GET['callback']); 

     echo $callback . '(' . json_encode($object) . ')'; 
    } 

사용 stdClass()를 개체를 만들 : - 당신은 당신이 콜백 함수를 반환해야 데이터 유형으로 JSONP 사용하고 있기 때문에이 내가 사용하는 것입니다.

+0

내 질문을 업데이트했습니다. – user2289728

관련 문제