 |
ช่วยทีครับ ต้องการส่งค่า Json ใน codeigniter จาก Controller ไปแสดงผลหน้า View แต่ขึ้น SyntaxError: JSON.parse |
|
 |
|
|
 |
 |
|
เอาโปรแกรมไปลองเทสต์ก็ปกติดีครับ code ที่นำไปเทสต์
Code (PHP)
<?php
if(ISSET($_REQUEST['keyword'])){
echo json_encode(array(
array('category_id'=>1, 'category_name'=>'ชื่อภาษาไทย', 'category_age'=>20),
array('category_id'=>2, 'category_name'=>'catename2', 'category_age'=>30),
));
exit;
}
?>
<html>
<head>
<meta charset = "utf-8" />
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript" >
$(document).ready(function(){
$("#btn1").click(function(){
$.ajax({
//url: "categoryGetjson" ,
type: "POST",
data: 'keyword=' +$("#txtCategoryId").val()
}).success(function(result) {
$("#div1").empty();
$("#div1").html(result);
var obj = $.parseJSON(result);
$.each(obj, function(key, val) {
$("#div1").append('<hr />');
$("#div1").append('[' + key + '] ' + 'CategoryID=' + val["category_id"] +'<br />');
$("#div1").append('[' + key + '] ' + 'CategoryName=' + val["category_name"] +'<br />');
$("#div1").append('[' + key + '] ' + 'categoryAge=' + val["category_age"] +'<br />');
});
}).error(function(err){
alert("ERROR : "+err);
});
});
});
</script>
</head>
<body>
Search Customer (CountryCode)
<input type="text" id="txtCategoryId">
<input type="button" id="btn1" value="Search">
<div id="div1"></div>
</body>
</html>
|
 |
 |
 |
 |
Date :
2015-06-18 07:20:45 |
By :
Chaidhanan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
code ที่ผมลง ผมก็ลอง test ด้วยการเขียนเว็บแบบปกติ แล้วมันก็ใช้ได้นะครับ
แต่พอเอาไปลงใน codeigniter framework เท่านั้นล่ะ มันก็ error อย่างที่เห็น
ผมก็เลยไม่ทราบว่าเป็นเป็นเพราะอะไรกันแน่ ลองหาข้อมูลในเน็ต แก้มาแล้วเป็นวันๆก็ยังไม่หายซักที
|
 |
 |
 |
 |
Date :
2015-06-18 12:26:30 |
By :
petchmaker |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ดูจาก วิธีเรียก มันผิดน่ะครับ แต่เมื่อมันได้ string result มาถูกต้อง เป็นรูปแบบ json_encode
ก็เลยคิดไปว่า จขกท คงไม่อยากเอาโค๊ดจริง จาก controller มาแสดง เลยตัดเป็นบางส่วน มา
ก็เลยเทสต์แต่เฉพาะส่วนของ html jquery
แต่ถ้าเป็นโค๊ดที่ใช้งานจริงๆ ก็คงเอาตัวอย่างจาก โค๊ดที่ถูกมาแสดง ไม่ได้เอาโค๊ดจาก ci มาแสดง
เพราะ code ci ต้องเขียน โค๊ดส่วนของ controller ให้ถูกรูปแบบครับ
จะต้องเขียนในรูปแบบ class ชื่อ คลาสต้องขึ้นต้นด้วยตัวใหญ่ และตัวอื่นๆ ต้องเป้นตัวเล็ก( ตัวต่อไปเป็นตัวเล็กนี่ไม่แน่ใจ แต่ใช้อยู่แบบนี้)
Code (PHP)
class Categorygetjson extends CI_Controller{
public function index(){
// ส่วนของโค๊ดต่างๆ เขียนตรงนี้
}
}
และ ajax ก็ต้องเขียนเรียก
$.ajax({ url: '/categorygetjson' type: 'POST', data: '...' }).success(function( JSData ){ ..... });
ก็ไม่รู้ว่า จขกท เขียนในรูปแบบนี้หรือเปล่า
ปล.ชื่อไฟล์ที่เซฟ ก็ต้องเป้นตัวเล็กหมด categorygetjson.php
|
ประวัติการแก้ไข 2015-06-18 17:49:32 2015-06-18 17:50:03 2015-06-18 17:51:06
 |
 |
 |
 |
Date :
2015-06-18 17:48:20 |
By :
Chaidhanan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|