Json ile alınan veriyi yönlenecek url e yazdırma?
Merhaba arkadaşlar yeni yeni öğrenmeye çalışıyorum bu sorunumu da günlerdir aramama rağmen bir türlü çözüme kavuşturamadım. Sizlere sormaya karar verdim. Muhtemelen çok basit bir çözümü vardır ama bir türlü yapamadım.
Json ile aldığım değeri yönlenecek url e yazdırmak istiyorum. Kod içerisinde de belirttim. Şimdiden çok teşekkür ediyorum.
<script type="text/javascript">
$(function() {
$("a.soru_okundu").click(function() {
var nesne = $(this);
var id = nesne.attr("id");
var sorusef = nesne.attr("sorusef");
var cevapid = nesne.attr("cevapid");
$.ajax({
url: "<?php echo $arow->site_url; ?>/sistem/bildirim-okundu.php",
data: {id:id,sorusef:sorusef,cevapid:cevapid},
type: "post",
dataType: "json",
success: function(data) {
location.href = "<?php echo $arow->site_url; ?>/soru/BURAYA SORU SEF İLE ALDIĞIM DEĞERİ YAZDIRMAK İSTİYORUM"
},
error: function(data) {
location.href = "<?php echo $arow->site_url; ?>/soru/BURAYA SORU SEF İLE ALDIĞIM DEĞERİ YAZDIRMAK İSTİYORUM"
}
});
});
})
</script>
Konu hakkında dün yanlış bildiğim ve haliyle buraya da yanlış yazdığım bir şeyi düzeltmek istiyorum, belki sonradan bu yazıyı birileri okur, bu yüzden yanlış bilgiyi düzeltmek gerekiyor. Mesajımda Bunun için kodu kısaltmak için then sonrasına tek bir kod yazılması yeterli olur
yazmışım, fakat bu bilgi doğru değil. Konu sahibi arkadaşın bu cevabında belirttiği durumdan sonra bu konuyu daha doğru hâliyle öğrenmek istedim. 400 yanıt kodu ile gelen yanıtlarda çalışmadığını, 200 yanıt kodu ile gelen cevaplarda çalıştığını söyledi. Çünkü then
metodu, done
ve fail
metodlarının (başarılı ve başarısız) birleştirilmiş bir şekli gibi düşünülebilir. İlk fonksiyon olarak done
, ikinci fonksiyon olarak fail
alıyor. Ben then
içerisinde tek bir fonksiyon kuıllandığım için bu da hâliyle done
yani success
fonksiyonuna denk geliyor. Onun için de 400 hata kodlu yanıtı yakalayamıyor ve yönlendirme işlemi gerçekleşmiyordu.
Sunucundan gelen yanıtın ne olduğuna bakmaksızın çalışan metod olarak always
metodu kullanılıyor. Bu bilgiler ışığında then
yerine always
yazılırsa daha doğru bir yanıt verilmiş olur.