Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Ajax сравнение ответа и строки (https://javascript.ru/forum/jquery/16816-ajax-sravnenie-otveta-i-stroki.html)

zercs 23.04.2011 20:27

Ajax сравнение ответа и строки
 
Привет всем, изучаю jQuery, столкнулся с небольшой проблемой.

Есть объект, один из методов (load)- отправка get запроса.
var BOX_CLICK = {
        container : "#box_comments",
        url : "scripts/box_click.php",
        delay: 100,
        load : function() {
           var _box = this;

            $.ajax({
                type : "get",
                url : this.url,
                success :  function(data) {
                    _box.display(this);
                }
            });
        },
        display : function(data) {
            if (data == 1) {
                $("#box_comments").html("<font color='#e80707'\
                    style='background-color: #FFE4E1; border: 1px dashed #e80707;'>\
                    &nbsp;&nbsp;Сначала войдите или зарегистрируйтесь.&nbsp;&nbsp;</font>");
              }  
        }
    };


Инициализация по клику
$(document).ready(function() {
    $("#letterbox_1").click(function() {
        BOX_CLICK.load();

    });
});


Все идет прекрасно, php скрипт корректно возвращает число, но на этапе сравнения ответа и единицы, js всегда идет по ветке ELSE.
if (data == 1) { ...

Знаю, что дело в типе данных, но не могу понять, в чем дело. Подскажите плиз)

Amphiluke 23.04.2011 20:50

А почему вы считаете, что data должно быть равно единице, если вы в метод display() передаете объект
Цитата:

Сообщение от zercs
_box.display(this);

?

zercs 23.04.2011 20:53

Да, точно :) Спасибо, хм, вот еще интересует, если всё же передать весь объект(this), как обратиться к дате из функции, в которую передается? У объекта, я так понял, должен быть параметр data? И тогда как обычно obj_name.data


Часовой пояс GMT +3, время: 04:16.