2015-02-20 3 views
1

У меня проблема с запросом ajax, когда я делаю запрос с помощью свойства dataType: 'json', мой ответ приходит с ошибкой, parsererror, моя функция в PHP возвращает данные типа json_encode() , PLS, вы можете мне помочь? когда я делаю запрос без свойства dataType: 'json' мои данные ВСЕ ДОКУМЕНТЫ HTML.AJAX запрос json fail

Мой запрос:

   var dataAr = {Latitude: Latitude, Longitude: Longitude};/ 
       console.log(dataAr); 
       $.ajax({ 
        data: dataAr, 
        dataType: 'json', 
        type: 'POST', 
        url: 'http://localhost/GPS/Server.php/GPS/Coords', 
        success: function (data, response) { 
         console.log('Data: '+data); 
         console.log('Response: '+response); 

        }, 
        error: function (textStatus, errorThrown) { 
         console.log('Status: '+textStatus); 
         console.log('Error: '+errorThrown);        
        } 
       }); 

Моя функция в PHP:

class GPS 
{ 
    function Coords() 
    { 
     $Res=$_POST['data']; 
     $Latitude=$_POST['Latitude']; 
     $Longitude=$_POST['Longitude']; 

     return json_encode($Res);    
    } 
} 
+1

вы используете эхо для отправки данных обратно в функцию Ajax? – bobdye

+0

@bobdye С эхом в моей функции PHP происходит такая же ошибка – Jorius

+0

проверяет фактический запрос на вкладке в консоли браузера. Я подозреваю, что ваша маршрутировка неверна. – charlietfl

ответ

1

Попробуйте использовать content-type:

function Coords() 
{ 
    $Res=$_POST['data']; 
    $Latitude=$_POST['Latitude']; 
    $Longitude=$_POST['Longitude']; 

    header('Content-Type: application/json'); // <-- HERE 
    return json_encode($Res);    
} 
+0

Я сделал это и не работал – Jorius

0

$ _POST переменные имеют одинаковые имена на то, что вы посылаете в , а не «данные». Пока не ясно, что вы пытаетесь вернуться, поэтому для примера следующий раз возвращается и массив входных значений:

class GPS 
{ 
    function Coords() 
    { 
    $Latitude=$_POST['Latitude']; 
    $Longitude=$_POST['Longitude']; 
    $result = array($Latitude, $longitude); 

    header('Content-Type: application/json'); 
    echo json_encode($result);    
    } 
} 
+0

I сделал это и не работает – Jorius