Нет данных, возвращаемых из ajax $ .post () - PullRequest
1 голос
/ 22 февраля 2011

У меня проблемы с получением текста ответа из моего сообщения JQuery AJAX:

$('document').ready(function()
{

    $('#saveRouteTrace').click(function(){

        // Build latStr and lonStr
        if(saveChanges()) {
            $.post('changeRouteTrace.php', {    
                    id: traceRouteId 
                   },
            function(data) {
                if(data.success) {
                    alert(data.reason);
                }
                else {
                    alert("Error: " + data.reason); 
                }                   
            }, 'json');
        }
    });
});

Я возвращаю ответ как:

{ "success": true, "reason": "because it worked" }

с сервера, но код функции (данных) никогда не выполняется. Что я делаю не так?

Ответы [ 2 ]

0 голосов
/ 22 февраля 2011

Если ваша функция savechanges () возвращает значение, этот снимок кода отлично работает в моей системе.

$(document).ready(function(){

    $('#saveRouteTrace').click(function(){

        // Build latStr and lonStr
        if(saveChanges()) {
            $.post('stackoverflowajax.php', {    
                    id: 9,
                    name:'Tsegay' 
                   },
            function(data) {
                    alert(data);
                if(data.success) {
                    alert(data.reason);
                }
                else {
                    alert("Error: " + data.reason); 
                }                  
            }, 'json');
        }
    });
        function saveChanges(){
            //This is a debuging code ... Make sure it return a value
                return true;
            }
    });

Это файл на стороне сервера.Я повторяю файл JSON.

if(isset($_POST['id'])){
            //This do not work
            return '{ "success": true, "reason": "because it worked" }';
        //this works fine
        echo '{ "success": true, "reason": "because it worked" }';
    }
0 голосов
/ 22 февраля 2011

Вы можете проверить с помощью FireBug, отправлен ли запрос и выглядит ли ответ нормально. Если запрос отправлен, но вы не получили правильный ответ, может быть проще создать тестовую форму в HTML и опубликовать данные с помощью этой формы. Отладка проще, чем использование ответа javascript, потому что вы можете просто обновлять содержимое после изменения и проверять ответ в браузере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...