Проблема при использовании ajax для обновления моей собственной капчи с кнопкой обновления - PullRequest
0 голосов
/ 28 декабря 2010

Но это не работает, я просто исчезаю из своего изображения и пробую МЕТОД 2, я думаю, что это может работать, но я ошибаюсь, потому что я просто получаю дисплей с кодом изображения, а не с новым изображением капчи Я в стеке ине понимаете, какой именно метод используется для обновления моей собственной капчи ..

Любая ошибка в моем коде или мой метод не могут быть использованы для обновления капчи. Может кто-нибудь сказать мне, как именно обновить капчу?

Заранее спасибо

КОД JQUERY

$('.refresh_captcha').click( function(){
   $.ajax({
      type: 'POST',
      url: 'captcha_mk.php',    
      success: function(data){
        //$('img').attr('src', data);  // METHOD 1 ( I try it and my image is lost )
        $('div').html('<img src=' + data); // METHOD 2 ( display code of image not captcha image)

    }
   });
});

Ответы [ 2 ]

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

Вероятно, это связано с тем, что captcha_mk.php возвращает фактические данные изображения - помните, что атрибут src принимает URL-адрес файла изображения, а не фактические данные изображения. Поэтому то, что вам нужно, вероятно, будет выглядеть так:

$('.refresh_captcha').click(function(){
    $('img').attr('src', 'captcha_mk.php?cache=' + new Date().getTime());
});

Мы добавляем строку запроса в конец URL, чтобы предотвратить кэширование в браузере.

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

Я действительно не знаю, какую библиотеку Captcha вы используете, но постарайтесь выяснить, что содержит data.также укажите класс или идентификатор для изображения капчи и выполните:

$('img.myCaptcha').attr('src', data);

Узнайте, как перезагрузить библиотеку капчи securimage (шаг 4), просто чтобы понять концепцию.

PS: не забудьте return false; перед закрытием функции click, чтобы предотвратить поведение по умолчанию.

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