2015-10-20 5 views
0

Я пытаюсь поместить данные JSON в свои данные, но так или иначе это не работает. Пожалуйста, помогите мне,Получение данных JSON от ORACLE в JQuery Datatables

<script> 
    $.getJSON('../vendor/process/process_vendor.php', function(response) { 
     $('#vendorlist').DataTable({ 
      processing: true, 
      data: response.data, 
      columns: [ 
      { data: "PO_NO"} 
      ] 
     }); 
     window.someGlobalOrWhatever = response.balance; 
     }); 
</script> 

и это process_vendor.php

$sql = oci_parse($conn, "SELECT VPI.PO_NO FROM [email protected]_WENLOGINV_LINK VPI WHERE VPI.PROJECT_NO LIKE '%' AND VPI.PROJECT_NAME LIKE '%'"); 
$errExc = oci_execute($sql); 

if (!$errExc){ 
    $e = oci_error($sql); 
     print htmlentities($e['message']); 
     print "\n<pre>\n"; 
     print htmlentities($e['sqltext']); 
     printf("\n%".($e['offset']+1)."s", "^"); 
     print "\n</pre>\n"; 
} else { 

    $res = array(); 
    while ($row = oci_fetch_assoc($sql)){ 
     $res[] = $row; 
    } 
    $listPO = json_encode($res, JSON_PRETTY_PRINT); 

    print_r($listPO); 

    oci_free_statement($sql); // FREE THE STATEMENT 
    oci_close($conn); // CLOSE CONNECTION, NEED TO REOPEN 
} 

и DATA JSON:

[ 
    { "PO_NO": "0928-57\/WEN\/15" }, 
    { "PO_NO": "0928-57\/WEN\/15" }, 
    { "PO_NO": "0923-59\/WEN\/15" }, 
    { "PO_NO": "0916-57\/WEN\/15" }, 
    { "PO_NO": "1002-06\/WEN\/15" } 
] 
+1

Вам нужно разобрать ваш JSON..'var responseObj = JSON.parse (ответ) '', а затем данные: responseObj.data' –

+1

Я сделал это '$ .getJSON (' ../ vendor/process/process_vendor.php ', function (response) { var responseObj = JSON.parse (response); $ (' # vendorlist '). DataTable ({ обработка: true, данные: responseObj.data, : [ {данные: "PO_NO"} ] }); window.someGlobalOrWhatever = response.balance; }); Но он не работает –

+1

у вас нет ключа 'data.' –

ответ

2

, так как вы не имеете в своем ответе попробовать с помощью ключа data: сделайте console.log(response), чтобы проверить, правильно ли вы получили данные.

var responseObj = JSON.parse(response); 

затем используйте responseObj для данных.

data: responseObj, 

Пример из необработанных данных:

var response=[ { "PO_NO": "0928-57/WEN/15" }, { "PO_NO": "0928-57/WEN/15" }, { "PO_NO": "0923-59/WEN/15" }, { "PO_NO": "0916-57/WEN/15" }, { "PO_NO": "1002-06/WEN/15" }]; 
 

 
$('#vendorlist').DataTable({ 
 
      processing: true, 
 
      data: response, 
 
      columns: [ 
 
      { data: "PO_NO"} 
 
      ] 
 
     });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="//cdn.datatables.net/1.10.9/js/jquery.dataTables.min.js"></script> 
 
<link rel="stylesheet" type="text/css" href="//cdn.datatables.net/1.10.9/css/jquery.dataTables.min.css"> 
 
<table id="vendorlist"></table> 
 
    
 

+0

это мой полный код и по-прежнему не работает $ .getJSON ('../ поставщиков/процесс/process_vendor.php', функция (ответ) { $ ('# vendorlist'). DataTable ({ обработка: правда, данные: ответ, столбцы: [ {данные: "PO_NO"} ] }); window.someGlobalOrWhatever = response.balance; }); –

+1

$ .getJSON ('../ vendor/process/process_vendor.php', function (response) {console.log (response); $ ('# vendorlist'). DataTable ({обработка: true, data: response, columns : [{данные: "PO_NO"}]}); window.someGlobalOrWhatever = response.balance;}); попробуйте это и посмотрите, что отображается в консоли. –

Смежные вопросы