Не знаю, что возвращает $ .post - PullRequest
0 голосов
/ 14 октября 2011

РЕДАКТИРОВАТЬ :

Я получаю объект {"readyState":1}.Это почему?Как я могу вернуть результат из $ .post (то есть объекта {"result":"ERROR"}).


Используя jEditable.(Примечание: я думаю, что это простой вопрос jQuery, а не конкретный вопрос о плагине.)

Я хотел бы посмотреть, существует ли уникальный символ тега в базе данных.Поэтому я делаю $ .post на onsubmit и получаю возвращенный объект JSON {"result":"ERROR"} (я знаю это с помощью firebug).

Моя проблема в том, что у меня проблемы с обработкой возвращенных данных.Когда я делаю alert(returned), я просто получаю Object object ответ, а не "ТЕСТ".

Любые советы о том, что не так или как узнать, что происходит?

КОД

//Edit Tag Symbol
$(".edittagsymbol").editable('myURL',{
    onsubmit : function(settings, td){
        var id =  $(this).attr('id');
        var input = $(td).find('input');
        var original = input.val();
        var returned = $.post('myURL',{"text": original}, 
                                function(data) {
                                    if (data.result == 'ERROR'){
                                        return data.result;
                                    }
                                },
                                "json"
                            );
        alert(returned);
    }
});

Ответы [ 2 ]

3 голосов
/ 14 октября 2011

$.post не возвращает значение, возвращенное из переданной функции.Вместо этого он возвращает jqXHR объект .

Если вы хотите что-то сделать с вашими данными, вы должны использовать функцию обратного вызова.

Полезный пример в принятом ответе здесь .

1 голос
/ 14 октября 2011

используйте alert(JSON.stringify(returned)), чтобы увидеть, что является ошибкой. Потому что вы ожидаете JSON от сервера

...