ajax : json decode

posted on 10 Apr 2008 00:55 by xnanoob  in PHP

ดีค่า    ในการส่งค่าจาก client ไปให้ server ใน ajax นั้น ก็มีการส่ง 2 แบบไม่ post ก็ get นั้นแระ แต่หากเราต้องการส่งค่าไปมากกว่าหนึ่งค่า   เช่น 5-6 ค่าขึ้นมา  อาทิเช่น ฟอร์มบันทึกข้อมูล มีประมาณสัก 10 feild แค่นี้กอคงเหนื่อยแล้ว หากจะขยันก็ p1=value1&p2=value2...ไปเรื่อยๆ ได้ parameter ที่ส่งไปก็ยาวเป็นกิโล  ชีวิตคงลำบากขึ้นนิดหน่อย

ในทางตรงกันข้ามนั้น responseText ของเราที่รับ response มาจาก server หากต้องการ return มากกว่าหนึ่งคาก็ใช้ JSON encode [1] ในการส่งค่าออกจาก server ไปยัง client    ดังนั้นในการส่งค่าจาก client ไป server เราก็จะใช้ JSON decode ในการถอดรหัสค่าที่ส่งมาจาก client

ฝั่ง server

<?php
$output =   json_decode($_POST['P1']);
echo $output[0]; //123
echo $output[1]; //456
?>


ฝั่ง client (สำหรับ version1)

// JavaScript
  var data = new Array(2);
  data[0] = "123";
  data[1] = '456';
  data = data.toJSONString();

หรือ (สำหรับ version2)

var myJSONText = JSON.stringify(data);

ถึงตรงนี้ชีวิตก้อน่าจะสบายขึ้นแล้วในการส่งค่ามากกว่าหนึ่งค่าไปยัง ajax

จบแล้วค่ะ บายๆ

ปล. เอกสารอ้างอิง http://www.json.org/js.html

อบรมเรียน PHP AJAX 

Comment



smilebig smileopen-mounthed smileconfused smilesad smileangry smiletonguequestionembarrassedsurprised smilewinkdouble winkcry

ว้าว

#1 By book on 2008-04-10 04:04