|  | 
	                
  
    | 
	 
        Jquery กับ Json v.1.3.2 กับ v.1.4.2 ลบกวนผู้รู้ช่วยแนะนำหน่อยครับ     |  
    |  |  
 
	
		|  |  |  |  |  
		|  |  | 
          
            | คือผมใช้ ver 1.3.2 ถ้าใช้สคลิปแบบนี้ Json ก็ส่งค่ามาทำงานตามปกติอ่ะครับ 
 แต่พอผมเปลี่ยนมาให้ V.1.4.2 มันกลับไม่ทำงาน เหมือนกันว่าค่าที่ส่งกลับมันเป็น Text
 
 ผมลอง ใส่ header('Content-type: application/json'); ใน php ก็ไม่ได้ครับ ดูใน firebug เหมือนจาขึ้น warning ด้วย
 
 ลบกวนด้วนนะครับ
 
 Code (JavaScript)
 
 
					$.ajax({
					type: "POST",
					url: "<?echo url::base();?>ajax/brand/allbrand.php",
					data: "ran="+Math.random(),
					dataType: "json",
					dataCharset: 'json',
					async: false,
					success: function(data){
						for(var j=0;j<data.length;j++){
							if(res[i].brand_id==data[j].brand_id){
								html +=data[j].brand_name;
							}
						}
					}
				});
 
 Code (PHP)
 
 
 <?php
include "../../class/class.mydb.php";
$sql="where 1=1";
//echo $sql;
$member= new MyDB();
$member->SetTable("brand");
$member->Select("*",$sql);
$point = array();
while($data = $member->Get_Info()){
	$point[] = $data;
}
//print_r($point);
echo json_encode($point);
//echo "$user".","."$pass";*/
?>
 
 
 Tag : JavaScript, Ajax, jQuery
 
 
 |  
            |  |  
            | 
              
                |  |  |  |  
                |  | 
                    
                      | Date :
                          2010-10-09 10:57:46 | By :
                          mozilla9889 | View :
                          2005 | Reply :
                          8 |  |  |  
                |  |  |  |  |  
            |  |  
		            |  |  
		|  |  |  |  |  
  
    | 
 
        
          |  |  |  |  |  
          |  |  | 
            
              | ค่าที่ส่งมาไ่ม่ใช่ json มั้งครับ ต้องมี ชื่อตัวแปรด้วย ex.
 $point = array(
 'abc' => 'abc',
 'bcd' => 'bcd',
 );
 
 แต่อันนี้น่าจะเป็น array ส่วน jquery 1.4 มันตรวจสอบค่าว่าเป็น json จริงหรือป่าวด้วยนะครับ ไม่เหมือนเวอร์ชั่นเก่า
 
 ให้แก้
 echo json_encode(array('data' => $point));
 
 และ
 
 success: function(data){
 for(var j=0;j<data.data.length;j++){
 if(res[i].brand_id==data.data[j].brand_id){
 html +=data.data[j].brand_name;
 }
 }
 }
 
 
 หรือไม่ก็ใช้ dataType: 'script' ครับ
 
 ลองดูละกัน
 
 |  
              | 
 ประวัติการแก้ไข
 2010-10-09 14:54:34
 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2010-10-09 14:32:22 | By :
                            pjgunner.com |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
 
        
          |  |  |  |  |  
          |  |  | 
            
              | warning มันว่าไงอะครับ 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2010-10-10 02:48:14 | By :
                            PlaKriM |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
        
          |  |  |  |  |  
          |  |  | 
            
              | <br /> <b>Warning</b>:  Cannot modify header information - headers already sent by (output started at D:\AppServ\www\project\ajax\model\allmodel.php:1) in <b>D:\AppServ\www\project\ajax\model\allmodel.php</b> on line <b>18</b><br />
 [{"model_id":"7","model_name":"ACCORD","brand_id":"15"},{"model_id":"4","model_name":"Mu-7","brand_id":"6"}]
 
 ครับ
 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2010-10-10 03:29:53 | By :
                            mozilla9889 |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
        
          |  |  |  |  |  
          |  |  | 
            
              | ที่มันไม่ได้เพราะมันมี output ตรงนี้แหละครับ มันเลยไม่เป็น json format มันคือ error ยอดฮิต ติดอันดับหนึ่งใน thaicreate chart top 20
 หาดูวิธีแก้ ตอบไว้เยอะแยะมากมาย Cannot modify header information หาเลย
 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2010-10-10 03:40:20 | By :
                            PlaKriM |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
        
          |  |  |  |  |  
          |  |  | 
            
              | ขอบคุณมากครับ นั่งงมมาเป็นอาทิตย์ ^^ สรุปคือเป็นที่ Save เป็น utf-8 พอเปลี่ยนเป็น ANSI ใช้ได้แล้วครับ 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2010-10-10 06:38:00 | By :
                            mozilla9889 |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
        
          |  |  |  |  |  
          |  |  | 
            
              | json_encode() ใช้ได้เฉพาะ UTF8 ครับ ดังนั้นถ้าใช้ ansi จะใช้ภาษาไทยได้หรือ? 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2010-10-10 11:02:14 | By :
                            pjgunner.com |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
        
          |  |  |  |  |  
          |  |  | 
            
              | ใช้ UTF without BOM ซิครับ 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2010-10-10 12:15:29 | By :
                            PlaKriM |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  |  |