v2.5.2
Giriş yap

php den json olarak aldığım değişkene php fonksiyonunu geçiremedim.

kartal
457 defa görüntülendi
<?php
    
    $property = array();
    
    if(..){
        $property[] = 'Örn. Mesaj';
    }
    if(..){
       $default_property = urunOzellikPrint($ozellik_true,$urun_id,$property_result); 
       //Fonksiyon yerine başka birşey yazarsam veriyi alabiliyorum.
    }
    
    echo json_encode(
		array(

	    "defaultProperty" => $default_property,
		"messages" => $property

		), JSON_UNESCAPED_UNICODE
	);
?>

urunOzellikPrint php sayfası

<?php
    
    function urunOzellikPrint($ozellik_true,$urunid,$ozellik_jsn){
        echo '<form>
                <input type="hidden" .... >';
                
                
            if($ozellik_true === 1){
						
				$jsn1 = json_decode($ozellik_jsn);
			    foreach($jsn1 as $v){
			        ...
			    }	
            }
            
            
            echo '</form>';
        
    }
?>
<script>
    //son kısmı
    xhr.onload = () => {

	    let bannerUpObj = null;

		try{
			bannerUpObj = JSON.parse(this.responseText);
			    						
	    }catch (e) {
			  console.error('Parse edilen veri yok');
	    }
	    if(bannerUpObj){
			if(bannerUpObj.defaultProperty){
			       document.getElementById(defaultStart).innerHTML = bannerUpObj.defaultProperty;

			}else{
			        document.getElementById(defaultStart).innerHTML = "Yok";
			}
			    						
			productId = null;
			    						
		}
	}
</script>
Cevap yaz
Cevaplar (2)
kartal
1294 gün önce

Kodun tamamını yazmadım çünkü kafa karıştırır.
Soruyu yazarken yapılan hataları düzelttim.
Ayrıca json değişkenine aldığım php fonksiyonunda echo ile yazdırmak yerine return ettim böylece oldu.
Şimdilik sorun yok gibi.

frdgk
1294 gün önce

json_decode() fonksiyonunu $jsn1 değişkenine tanımlamışsın ama foreach de direkt ham veriyi döndermeye çalışıyorsun. Ayrıca foreach de çift dolar işareti kullanmışsın ve altta echo'nun sonuna noktalı virgül koymamışsın.