PHP dizi için JavaScript dizi daha sonra PHP süreci ve geri dönüş

3 Cevap php

Örnek:

javascript:

var mycourses=new Array(); 
mycourses[0]="History";       
mycourses[1]="Math";
mycourses[1][0]="Introduction to math";
mycourses[1][1]="Math 2";
mycourses[1][2]="Math 3";

PHP sonra (değerleri çoğunlukla değil yukarıdaki örnekte olduğu gibi dizeleri değil numaraları olduğumuzu unutmayın) fonksiyonları ile bu değerleri çalışacak, fonksiyonlar daha formda gösterilecektir bazı metin dönecektir

Bunu nasıl yapıyor hakkında gitmek gerekir?

ps: Ben bazı benzer şeyler buldum, ama oldukça bu gibi bir şey ... bildiğim kadarıyla gördüğünüz gibi (otomatik JS onu kod için bir yol var - dizeleri için bu gördüm) JSON kullanmak zorunda olacak AJAX ve

3 Cevap

Evet, kullanabilirsiniz JSON and PHP's json_encode() and json_decode() Bunun için fonksiyonlar.

Orada JavaScript kütüphaneleri otomatik olarak JSON dizinizi dönüşeceği ..., ve php bir PHP Array JSON dönüştürmek için fonksiyonu vardır ... Eğer JS PHP ve decode tekrar kodlamak süreci ...

JSON JS için bir standart .. çoğu dil zaten bunun için destek sunuyoruz beri kullanmaya çalışın ve sizin hayatınızı kolaylaştırmak istiyorum

İstemci tarafı, sunucuya veri göndermek ve sonucu geri almak gerekir. Bu jquery ile bir örnek kod, ancak başka lib veya saf js ile benzer şeyler yapabilirsiniz:

$.post( "compute_courses.php", mycourses )
  .done(function( data ) {
     // Handle result
  })
  .fail(function( jqXHR, textStatus, errorThrown ) {
    // Handle error here
  });

Bu compute_courses.php için mycourses dizi göndermek ve sonucu idare edecek.

Sunucu tarafı, bu kullandığınız hangi çerçeve / lib bağlıdır, ancak, json okumak tedavi uygulamak ve (json_encode ile en muhtemel) bir sonuca dönmek gerekir. Eğer (herhangi bir üçüncü parti çerçeve / lib ile) Bu bölümü kendiniz yazmak planlıyorsanız, gibi bir şey deneyebilirsiniz:

$input = file_get_contents("php://input");
$mycourses = json_decode($input, true);
// Treatment...
$json_result = json_encode($mycourses);
exit($json_result);

Eğer bu tür şeyler yapmak için yardımcı olan bir PHP çerçevesinde arıyorsanız, ben seni Silex veya Slim kullanmanızı öneririm.