 |
การส่งค่ากลับเป็น json [header('Content-Type: application/javascript');] |
|
 |
|
|
 |
 |
|
จาก link นี้ https://www.thaicreate.com/php/forum/094502.html
ผมทำมาถึงส่วน json ครับ แต่เกิด error ในส่วนของ
Code (PHP)
<?php
$link = mysql_pconnect("localhost","root","1234") or die("Unable to connect server");
mysql_selectdb("test") or die("Unable to connect database");
mysql_query("SET NAMES 'UTF8'");
mysql_query("SET character_set_results='UTF8'");
$arr = array();
$rs = mysql_query("SELECT id,name,address,username,password FROM tbl_test");
$i = 0;
while($obj = mysql_fetch_object($rs))
{
$arr[] = $obj;
//echo $i." ".$obj->address."<br/>";
//$i+=1;
}
// add the header line to specify that the content type is JSON
header('Content-Type: application/javascript'); // <--- เพิ่มนี้เข้าไปแล้ว error เลย
echo "{\"NetBeansTest1\":" .json_encode($arr). "}";
?>
error คือ
Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\grid2_1.php:1) in C:\AppServ\www\grid2_1.php on line 19
รบกวนข้อความคำแนะนำหน่อยครับ
Tag : PHP, MySQL, HTML/CSS, jQuery, CakePHP, Windows
|
|
 |
 |
 |
 |
Date :
2013-04-30 17:50:57 |
By :
Nameless |
View :
3038 |
Reply :
8 |
|
 |
 |
 |
 |
|
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
header('Content-Type: application/javascript'); ?? ทำไมถึงต้องใส่
|
 |
 |
 |
 |
Date :
2013-04-30 18:01:42 |
By :
Ex-[S]i[L]e[N]t |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Code (PHP)
<?php
$link = mysql_connect("localhost","root","1234") or die("Unable to connect server");
mysql_select_db("test") or die("Unable to connect database");
mysql_query("SET NAMES UTF8");
$arrResult = array();
$rs = mysql_query("SELECT * FROM tbl_test");
$num_field=mysql_num_fields($rs);
while($obj = mysql_fetch_object($rs))
{
$arrCol=array();
for($i=0;$i<=$num_field;$i++){
$arrCol[mysql_field_name($rs,$i)] = $obj[$i];
}
array_push($arrResult,$arrCol);
}
echo json_encode($arrResult);
?>
|
ประวัติการแก้ไข 2013-04-30 18:06:40
 |
 |
 |
 |
Date :
2013-04-30 18:06:09 |
By :
Ex-[S]i[L]e[N]t |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ตาม link document ของ jquery framework kendo
http://docs.kendoui.com/tutorials/PHP/build-apps-with-kendo-ui-and-php
เค้าบอก file type ที่ส่งกลับเข้า datasource ต้องเป็น ชริด json นะครับ ก็เลยใส่ header('Content-Type: application/javascript');
เข้าไปตาม link document ที่เค้าแนะนำไว้ แต่ดัน error นะครับ ไม่รู้ว่าต้องแก้ไขอย่างไรครับ
|
 |
 |
 |
 |
Date :
2013-05-02 08:36:01 |
By :
Nameless |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ได้แล้วครับ
รองเปลี่ยนจาก appserv ไป run ที่ wamp ก็ได้เลยครับ
ไม่ทราบเหมือนกันว่าแตกต่างกันอย่างไร
ถ้าท่านใดรู้คำตอบรบกวนชี้แนะด้วยนะครับ ได้อยากความรู้เหมือนกัน
|
 |
 |
 |
 |
Date :
2013-05-03 10:45:34 |
By :
Nameless |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
error คือ
Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\grid2_1.php:1) in C:\AppServ\www\grid2_1.php on line 19
ส่วนนี้คือ warning ไม่เชิง error ครับ
เกิดจากการใส่ header('Content-Type: application/javascript'); แนะนำให้ใส่เป็นแบบนี้ครับ
@header('Content-Type: application/javascript');
ใส่เครื่องหมาย @ จะเป็นการปิด warning ที่บอกว่ารันใน wamp แล้วรันได้ ค่าคอนฟิคอาจจะฟิคไม่ให้แสดง warning ไว้ครับ
header จะต้องใส่ก่อนที่จะมีการแสดงผลผ่านหน้าจอ screen ครับ ให้ใส่ @ ป้องกันไว้ก็ได้
|
 |
 |
 |
 |
Date :
2013-11-20 18:16:21 |
By :
chuensanguan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ใส่ header ด้านบนสุดซิครับ อย่า ใส่ @ เลยนะ เขียนโปรแกรมที่ดีอย่าซ่อนขยะไว้ใต้พรมเลย จริงๆแล้ว error นี้ อ่านๆดีนี้แก้ได้เลยนะ 
|
 |
 |
 |
 |
Date :
2013-11-20 18:31:11 |
By :
geidtiphong |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
EditPlus > Save As > utf8
utf8 whit out BOM
|
 |
 |
 |
 |
Date :
2013-11-20 19:28:20 |
By :
telesyn |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|

|
 |
 |
 |
 |
Date :
2013-11-20 21:16:28 |
By :
mr.win |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|