2017-11-23 3 views
0

데이터를 Magento database에서 가져오고 Json object으로 반환하고보기에 데이터를 추가해야합니다. 유효한 json이 아닌 html 응답을 얻고 있습니다. Codeigniter가 컨트롤러에서 Ajax 요청을 통해보기에서 동적 테이블로 Json을 반환합니다.

오류 메시지입니다 : -

DataTables 경고 : 테이블 ID = order_list - 잘못된 JSON 응답. 이 오류에 대한 자세한 내용은 참조하십시오 여기에 http://datatables.net/tn/1

내 컨트롤러 코드 : 여기

public function prepareJson(){ 

    $orders = Mage::getModel('sales/order')->getCollection()->setOrder('created_at', 'DESC')->setPageSize(25); 
    $total_records = $this->orderModObj->get_total(); 
    $tableData = array(); 

    $jsonObj =new \stdClass(); 
    $jsonObj->sEcho = 5; 
    $jsonObj->iTotalRecords = $total_records; 
    $jsonObj->iTotalDisplayRecords = $total_records; 

    foreach ($orders as $ordercus) { 
     array_push($tableData, $ordercus); 
    } 
    $jsonObj->aaData = array($tableData); 

    $tableJSON = json_encode($jsonObj); 
    return $tableJSON; 
} 

내보기 코드 여기

<table id="order_list" class="table table-bordered table-striped" data-page-length="25"> 

인 JSON 구조

입니다
{ 
"sEcho": "5", 
"iTotalRecords": 2708, 
"iTotalDisplayRecords": 2708, 
"aaData": [ 
    ["300000374", "16-11-2017", "16-11-2017", "title ", "charith m ", "<img src=\"http:\/\/mysite.lk\/dif.gif\" class=\"image\" alt=\"profile picture\">charith", "AUD 100.00", "<div class=\"processing\">Processing<\/div>", "<a class=\"tb-edit\" href=\"http:\/\/mysite.lk\/view\/300000374\">View <\/a>"] 

] 
} 
,

다음은 자바 스크립트 코드 당신은에 하나 print() 또는 echo json으로 필요

$(document).ready(function() { 

$('#order_list').DataTable({ 

    "processing": true, 
    "serverSide": true, 

    url: BASE_URL + 'order/prepareJson', 
    method: 'post', 
    data: { get_param: 'value' }, 
    dataType: 'json' 
    //"ajax": " " 
}); 
$.ajax({ 
    success: function (feedback) { 
     //console.log("feedback", feedback); 
     $("#order_list").append($(feedback)); 
     } 
    }); 
}); 
+1

'var names = feedback;이 아니어야합니다. '?? – Akintunde007

+0

테이블 필드 이름을 게시하여 도와 드리겠습니다. –

+0

죄송합니다.보기에 추가해야합니다. 나는 그것을 새롭게했다. Akintunde – charith

답변

0

하지 return 그것을이다.

$table_json = json_ecode($data); 
echo $table_json; 
+0

변경 했는데도 같은 오류 메시지가 나타납니다. - DataTables 경고 : table id = order_list - 잘못된 JSON 응답. 이 오류에 대한 자세한 내용은 http://datatables.net/tn/1을 참조하십시오. – charith

0

당신은 하지가 유효한 JSON 응답을해야합니까.

복사 여기 JSON을 붙여 : 당신은 당신의 문제는 이미지 태그 적절한 따옴표의 부족이라고 볼 수

https://jsonlint.com/

. 심지어 Stack Overflow의 코드 형광펜을 혼란스럽게 만들었습니다.

+0

여기 json을 편집했는데 컨트롤러에서 json을 생성하는 것이 필요합니다. 그러나 HTML을로드 할 때 응답은 html로 제공됩니다. – charith