You are on page 1of 15

PHP

Ajax sn les sigles dAsynchronous JavaScript And XML.


s una tecnologia que permet a una pgina lactualitzaci
de forma dinmica sense la seva recarrega completa.
Javascript sencarrega de la comunicaci amb el servidor
(envia i rep dades de la pgina web).
En el servidor la sollicitud es processa i senvia la resposta al
client reinterpretada per javascript.

AJAX
INTRODUCCI

PHP

AJAX
INTRODUCCI

PHP
Encara que en lintercanvi es pot utilitzar qualsevol format
dintercanvi d'informaci tradicionalment es realitza en
XML (eXtensible Markup Language).
Llenguatge de marques que permet definir gramtiques
especifiques.
Permet lintercanvi d'informaci estructurada i llegible.

AJAX
INTRODUCCI

PHP
Per amb JSON (JavaScript Object Notation), ms lleuger i
amb una notaci molt ms simple.
Es converteix en el format ms utilitzat per a lintercanvi de
dades en AJAX.

AJAX
INTRODUCCI

PHP

AJAX
INTRODUCCI

El format JSON t la segent notaci:


{key : value,
value3,...}

key2

value2,

key3

Tamb es pot serialitzar i multidimensionar:


[{key : value, key2 : value2, key3 : value3,
key : { key : value, key2 : value2, key3 :
value3} },

PHP
JSON en PHP
En qualsevol installaci estndard de PHP a partir de la
versi 5.2.0, sincorpora de forma predeterminada la
extensi JSON.

s molt fcil passar dades entre un Array a notaci JSON.

AJAX
INTRODUCCI

PHP
Entre les funcions de la extensi JSON per a PHP que ens
interessen, la ms imprescindible es la funci
json_encode().
Amb aquesta funci es poden passar dades a format JSON
de forma rpida i fcil.
Lnic requisit s tenir les dades en forma darray o
dobjecte.

AJAX
INTRODUCCI

PHP

AJAX
INTRODUCCI

<?php
$jsondata = array();
if( isset($_GET['param']) ) {
if( $_GET['param'] == 'valor' ) {
$jsondata['success'] = true;

$jsondata['message']
rebut OK.';

'El

valor

PHP

AJAX
} else {
$jsondata['success'] = false;

$jsondata['message'] = Valor rebut


NO OK.';
}

INTRODUCCI

PHP

AJAX

echo json_encode($jsondata);
exit();
}
?>

INTRODUCCI

PHP
Ajax amb JSON i jQuery
Un dels arguments del mtode jQuery.ajax() s
dataType i es pot especificar que sutilitzar JSON en la
resposta.

Si no sespecifica res en dataType, jQuery intentar detectar


de forma automtica el format de les dades rebudes.
Si en la resposta des del servidor sespecifica el tipus de
contingut, ser ms fcil tractar les dades correctament.

AJAX
INTRODUCCI

PHP

AJAX
INTRODUCCI

$.ajax({
data:
{"parametro1"
"parametro2" : "valor2"},

//canvia a POST si es necessari


type: "GET",

"valor1",

PHP

AJAX

dataType: "json",
// URL enviament AJAX
url: login.php",
})
.done(function( data, textStatus, jqXHR ) {

if ( console && console.log ) {

INTRODUCCI

PHP

AJAX
INTRODUCCI

console.log( COMPLETAT" );
}
})
.fail(function(
errorThrown ) {

jqXHR,

textStatus,

PHP

AJAX
INTRODUCCI

if ( console && console.log ) {


console.log(
textStatus);
}

FALLIDA:

"

You might also like