Действительно странное поведение PHP с AJAX с Jquery - PullRequest
0 голосов
/ 15 декабря 2010

Что ж, мои проблемы немного странные,

У меня есть AJAX-запрос на получение только числа.

Это число напечатано на: getMoney.php ,На index.php у меня есть запрос AJAX.

Код Ajax:

function getMoney(selected)
        {
            if(selected.value != -1)
            {
                // Obtener presupuesto via AJAX
                $(document).ready(function(){
                    $.ajax({
                            url: "getMoney.php",
                            async: true,
                            success: function(datos){
                                //My action
                            }
                    });
                });
            }
        }

Функция вызывается, когда я изменяю значение в Combobox HTML

<select name="area_id" onchange="getMoney(this);">

Ну ... Моя проблема: если я запишу числа на getMoney.php (mannualy), он отлично работает, AJAX получит его, и действие выполнено, но когда я получу числа из своей базы данных, япросто получи 0. Я тоже открываю manmualy getMoney.php, и цифры ТАМ!даже если я получу его из базы данных.

Что не так?

Ответы [ 3 ]

2 голосов
/ 15 декабря 2010

убедитесь, что getMoney.php НЕ использует ваши стандартные заголовки представления, то есть включает скрипт, включает таблицу стилей или что-то еще. Кроме того, лучше иметь getMoney.php для возврата строки JSON с вашими параметризованными данными, чтобы вы могли получать диагностические коды и коды ошибок, а также конкретные данные. это поможет в отладке. посмотрите на $. getJSON () , если вам нужна помощь с этим.

0 голосов
/ 15 декабря 2010

Установите плагин firebug https://addons.mozilla.org/en-US/firefox/addon/1843/ в Firefox.

Как только вы установите плагин, в правой части строки состояния появится символ ошибки.

Нажмите на него. Затем измените поле выбора. Там будет строка в консоли firebug.

Там вы можете увидеть все данные, отправленные на сервер и ответ от сервера. Это поможет вам определить проблему.

0 голосов
/ 15 декабря 2010

Объект XHR будет кэшировать все запросы по URL, это можно исправить, просто добавив случайную строку, например:

$.ajax({
    url: "getMoney.php?r=" + new Date().getTime(),
    async: true,
    success: function(datos){
        //Your action
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...