| Autor | Zpráva | ||
|---|---|---|---|
| first Profil * |
#1 · Zasláno: 18. 12. 2011, 22:57:20
Moje situace:
V JS mám přes JQuery AJAX funkci: $(".input").change( function(){
var value = $(".input").val();
$.get("script.php", {value: value}, function (data){
$(".message").text(data).fadeIn(500);
}, 'html');
});Potom mám volaný script: (např.) $value = $_GET['value'];
if($value == 1)
{
$callback = "text";
$callback2 = 2;
echo $callback;
echo $callback2;
}Lze nějak udělat aby AJAX vracel v callbacku obě proměnné? Lze to tam nějak odlišit, aby to nebyla jen promenná data? Doufám že je z toho patrné na co se ptám.. Díky za odpovědi. |
||
| Nox Profil |
#2 · Zasláno: 18. 12. 2011, 23:01:56
nejlépe
echo json_encode(array("callback" => $callback, "callback2" => $callback2)); |
||
| first Profil * |
#3 · Zasláno: 18. 12. 2011, 23:11:41
Jasně zpátky budu posílat pole.. že mě to nenapadlo. Díky moc.
Ještě doplňující otázka: k čemu je tam ta funkce json_encode? |
||
| Nox Profil |
#4 · Zasláno: 18. 12. 2011, 23:28:34 · Upravil/a: Nox
No to pole se musí každopádně nějak "vyechovat" ... jelikož jsou různé možnosti, nejlepší bude JSON. A k převodu proměnné na formát JSOn slouží právě json_encode. Proč toto?
JSON je reprezentace objektů, kterou používá sám JavaScript, proto použití tohoto zní velmi logicky. Navíc jde o velmi přehledný, jednoduchý a úsporný formát (narozdíl od XML třeba). Spolu s YAML je dnes navíc jeden z nejpoužívanějších. Víc na http://json.org/ |
||
| first Profil * |
#5 · Zasláno: 18. 12. 2011, 23:31:01
No a ještě neco mi není jasné .. :) jak budu v JS pak načítat ty data ?
Napadlo me toto: (ale to jaksi nefunguje) $(".input").change( function(){
var value = $(".input").val();
$.get("script.php", {value: value}, function (data){
$(".message").text(callback).fadeIn(500);
var JScallback = callback2;
}, 'html');
}); |
||
| Nox Profil |
#6 · Zasláno: 18. 12. 2011, 23:36:13 · Upravil/a: Nox
1) jQuery na to má přímo spešl AJAX metodu (právě že je to tak kompatibilní a populární) a to .getJSON (což je stejně jako ostatní metody jen zkratka na .ajax s volbou typu obsahu JSON)
2) jQuery má na to navíc parser: http://api.jquery.com/jQuery.parseJSON/, takže pokud bys nechal .get, můžeš dát data = $.parseJSON(data); 3) Je možné použít JSON.parse(data), ale stará IE to nepodporují ... tipuju ale, že ho jQuery používá jako primární volbu, pokud je to dostupné http://stackoverflow.com/questions/45015/safely-turning-a-json-string-into-an-object |
||
| first Profil * |
#7 · Zasláno: 18. 12. 2011, 23:53:28
Díky za tvůj čas. Asi nakonec použiju tu funkci .getJSON.
|
||
|
Časová prodleva: 15 let
|
|||
0