Я пытаюсь изменить источник изображения с помощью пути изображения, которое я получаю от обработчика php с помощью ajax.
То, что я поймаю, это: «img / blah.jpg»
Это мой аякс:
$('.name').click( function() { //var e = $(this).attr('src','img/no.png'); //this works $.ajax({ url:'handler.php?blahid='.$idnum, type:"GET", success: function(data) { var f = $(this).attr("src", data); //$(this) is the image I click on that I want to replace console.log(f); }, error: function(jqXHR, textStatus, errorThrow) { debugger; } }) }
Ajax выполняет свою работу, когда я нажимаю на изображение, которое хочу изменить. Возможно, я неправильно использую данные ответа. Я использовал консольный журнал, чтобы узнать, что я получил, и он вернул объект. Поэтому я предполагаю, что моя проблема: то, что я делаю сейчас, не работает, и я не знаю, почему. Дайте мне знать, если вы хотите, чтобы я что-то разъяснил. Заранее спасибо.
использование
$('.publish').click( function() { var self=this; // add this line $.ajax({ url:'handler.php?blahid='.$idnum, type:"GET", success: function(data) { var f = $(self).attr("src", data); // use self instead of this console.log(f); }, error: function(jqXHR, textStatus, errorThrow) { debugger; } }); }
Попробуйте это
var my_data = data; var f = my_data.find('img').attr("src");
или вы можете напрямую использовать
$(data).find('img').attr('src');
в вашем примере $(this).attr("src", data);
$ (this) указывает на запрос ajax. для изменения изображения вы можете предоставить идентификатор изображения ниже $('#imageId').attr("src", data);
Для данных-location-image обязательно в базе данных, например http: http: // localhost / new_accemo_upd_1 / data / scan-yr-201 …
От добавления данных:
data.append('gambar', $('input[type=file]')[0].files[0]);
Сохранение данных (сервер)
'gambar' : base_url($_FILES['gambar'])
Если мы хотим изменить изображение:
$.ajax({ url : "<?php echo site_url(name-url)?>/", type: "GET", dataType: "JSON", success: function(data) { $('[name="logo"]').attr("src", data.logo); }, error: function (jqXHR, textStatus, errorThrown) { alert('Error get data from ajax'); } });
Просмотр HTML:
<img src="" name="logo"/>