Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   $.ajax (success) (https://javascript.ru/forum/jquery/15938-%24-ajax-success.html)

Триви 19.03.2011 23:03

$.ajax (success)
 
Ребята, я новичок в jquery.
Делаю удаление файлов через $.ajax.
Вот элементарные куски кода:
function deleteFile(fileName) {
              $.ajax({
                   url : 'delete_file.php',
                   type : 'GET',
                   data: 'file_name='+fileName,
                   success: function(data) {
                        document.getElementById('tr_'+fileName).style.display = 'none';
                   }
              });
        } // end function deleteFile()


<tr id="tr_<?=$file?>">......<a id="<?=$file?>" href="#" onclick="deleteFile('<?=$file?>');">удалить</a>.........</tr>


Дело в том, что файлы удаляются, но вот соответствующий ему <tr> по саксесу дизеблится почему то не всегда.
Иногда не удаляется..
В айди имена файлов, которые всегда 1.jpg 2.jpg 3.jpg и т.д.
Почему так?

Триви 20.03.2011 14:42

Ребята, проблема в кэшировании!!!
Юзаю ajaxupload.
tr-ы выводятся динамически по колбэку в onComplete.
Фотки иногда кэшируются.. именно эти и не удаляются..
Как отключить кэш???
Думал, что поможет удаление из ДОМа, в функицию deleteFile()
вставлял $('#tr_'+fileName).remove(); - не помогает!!! :-E

Следующие варианты тоже не помогают:

header("Cache-Control: no-cache, must-revalidate");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");


<meta http-equiv="Expires" content="Mon, 26 Jul 1997 05:00:00 GMT" />
<meta http-equiv="Pragma" content="no-cache" />


Помогите PLZ победить!

Триви 20.03.2011 18:45

Блин, не помогает даже рандом к аякс-урлу :cray:

lalala 20.03.2011 19:48

у тебя так и передается 1.jpg?
если да, то у тебя получается селектор #tr_1.jpg, а это уже ID tr_1 и класс jpg
и названия фото лучше делай рандомными, что бы не кэшировалось

Триви 20.03.2011 21:24

а как в JS сделать такую штуку:
substr($file_name, 0, strrpos($file_name, "."));

???

Триви 20.03.2011 22:05

Цитата:

Сообщение от Триви (Сообщение 97358)
а как в JS сделать такую штуку:
substr($file_name, 0, strrpos($file_name, "."));

???

Нашел как..

Короче, IE и FireFox - полет нормальный..
Опера упорно кэшрует, несмотря на рандомнуый параметр в айкс урле..

Триви 20.03.2011 22:59

Вообщем, сплошной рандом кругом получился..
Рандом на рандоме, рандомом погоняет :D
Только в этом случае фотки не кэшируются во всех браузерах! :blink:

phgrey 21.03.2011 20:14

если проблема в кешировании - делай POST - запросы, они вроде как не кешируются


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