Biraz jquery + php + json ile kaybetti

1 Cevap php

. Jquery $ ajax (kullanmaya başladım) ama ben istiyorum ne geri alamıyorum ... Ben bu gönderin:

$(function(){
    		$.ajax({
    			url: "graph_data.php",
    			type: "POST",
    			data: "casi=56&nada=48&nuevo=98&perfecto=100&vales=50&apenas=70&yeah=60",
    			dataType: "json",
    			error: 
    			function (xhr, desc, exceptionobj) {
    				document.writeln("El error de XMLHTTPRequest dice: " + xhr.responseText);
    			},
    			success:
    			function (json) {
    				if (json.error) { alert(json.error); return; }
    				var output = "";
    				for (p in json) {
    					output += p + " : " + json[p] + "\n";
    				}
    				document.writeln("Sonuçlar: \n\n" + output);
    			}
    		});
    	});

ve benim php:

<?php

$data = $_POST['data'];

function array2json($data){ 
    $json = $data;

    return json_encode($json);
}
?>

Ben bu idam ve ben ile çıkıyor:

Sonuçlar:

sadece böyle ben php bir yankı array2json bildirimde için kullanılır ama sadece gerçekten ben yanlış yapıyorum bilmiyorum ... geri anlamsız verdi ve ben sadece temelde aynı şeyler oluyor yaklaşık 3 saat boyunca google'dan. Ayrıca ben parametreleri geçirmek için nasıl bilmiyorum "veri:". Web sayfasından bilgi alma gibi başka bir şekilde $ ajax fonksiyonu, herkes lütfen bana yardımcı olabilir?


Edit

Ben önerilen ne yaptım ve verileri şimdi nasıl verileri gönderebilir, ben merak ediyorum, ancak) size çok = teşekkür yazdırır: bu yüzden ben de, kullanıcı girişi diyelim onu ​​alır bölümünü jQuery "veri" php belgeleri kontrol ve ben gibi bir şey yazmak için izin var diyor edildi:

json_encode($a,JSON_HEX_TAG|JSON_HEX_APOS|JSON_HEX_QUOT|JSON_HEX_AMP)

Ancak, ben json_encode 1 parametre kabul söyleyerek bir hata alıyorum ve ben ... neden herhangi bir fikir 2 veriyorum yaparsak? Ben php 5.2 kullanıyorum

1 Cevap

Birincisi: Eğer PHP komut dosyası geçiyoruz veri değil, $_POST olacak $_POST['data'].

Sonraki: Eğer tam kod örneği mi ... aslında bazı verilerle array2json işlevini çağırmak gerekiyor?

Ayrıca, array2json ... yapmak için neden doğrudan json_encode aramadın? Gerekiyordu ne emin değilim

Lütfen Örneğin sadece PHP dosyası gibi görünmesini sağlayabilirsiniz:

print json_encode($_POST);

Son olarak, Firebug kolayca AJAX çağrıları hata ayıklama gibi bir araç almalısınız.

EDIT:

Kullanıcının veri göndermek için, yapmanız gereken her şeye sahip olan bir form her yerde sayfasında, sonra bunun submit olay yakalamak ve serialize Veri, ya da sadece get the value tek bir giriş alanının. O zaman sadece bir dize veya bir nesne gibi, onunla veri sorgusu oluşturabilirsiniz. Her kolaylaştırır jQuery için çok popüler Form plugin bulunmaktadır.

2nci argümanı json_encode PHP 5.3.0 kadar ilave değildi, çünkü bir hata alıyorsanız nedenidir. Yani sizin için uygun olmadığını daha önce bir şey varsa.