2015-11-24 12 views
5

PHP dosyasından JSON çıktısını işleyemez şöyledir:getJSON ayrıştırıcı benim SQL Server aşağıdaki json döndüren bir php script

<?php 

$server = "DEVTEST-PC\\SRVCLT"; 
$options = array("UID"=>"sa","PWD"=>"1234","Database"=>"Test"); 
$conn = sqlsrv_connect($server, $options); 


if ($conn === false) die("<pre>".print_r(sqlsrv_errors(), true)); 
//echo "Successfully connected!"; 


$result = sqlsrv_query($conn,"SELECT Currency, USDRate FROM Pax.CurrencyRate 
WHERE GBPRate BETWEEN 80 AND 800;"); 

if($result === false) { 
    die(print_r(sqlsrv_errors(), true)); 
} 

while($row = sqlsrv_fetch_array($result, SQLSRV_FETCH_ASSOC)) { 

    $myArray['paxcurjson'][] = $row; 
} 
    echo json_encode($myArray); 
?> 

Çıktı gibidir: jQuery kullanıyorum

{"paxcurjson":[ 
{"Currency":"AFN","USDRate":49.5}, 
{"Currency":"ALL","USDRate":103.567}, 
{"Currency":"BDT","USDRate":77.562}, 
{"Currency":"DZD","USDRate":79.6146}]} 

onu ayrıştırmak için ama nedense ayrıştırılamıyor. şöyle Benim kodudur:

<script type = "text/javascript" language = "javascript" > 

    var url = 'CurrencyQuery.php'; 

     $.getJSON(url, function(data){ 

      for (i = 0; i < data.paxcurjson.length; i++) { 

       console.log(data.paxcurjson[2].Currency); 

      }; 

     }); 

</script> 

benim konsolundan aldığım tek hata iletisi:

08: 52: 52,661 CurrencyQuery.php found1 hiçbir unsur: 24: 4

Bu temelde json'u döndüren PHP betiğimi ifade eder. Bunun neden çalışmadığına dair hiçbir fikrim yok. JSON bir online doğrulayıcı ile doğruladı ve Tamam ve JQuery görünüyor, Tamam olmalı. Birisi bana bir ipucu verebilir mi? PHP çıkışında birkaç şeyi değiştirmek

+1

"veri" işlevini denediniz mi? 'console.log (data)' işlevini kullanın ve neler olduğunu görün. Eğer JSON nesnesi geliyorsa o zaman "data = $ .parseJSON (data)' –

+1

'u kullanmanız gerekiyorsa, "CurrencyQuery.php" dosyasında bir json verisi görüntülüyorsunuz? –

+1

Merhaba, Hızlı cevabınız için teşekkür ederiz. Bunu, maalesef hala hiçbir öğe bulunamadı hata ile sona erdi. EminimJSON bir şekilde başarısız oluyor. Belki JSON ile yanlış bir şey var ama ne olduğunu anlayamıyorum. –

cevap

0

Hepinize teşekkür ederim, çözümü anladım. JSON kodlu verileri php komutumdan geri arama işlevinde sarmak zorunda kaldım. Verileri alabilirim o zaman. Bu sorunla başa çıkmak için en iyi yol olup olmadığından emin değilim ama şu ana kadar çalışıyor :)

0

İhtiyaç o Javascript veya JQuery

bu her zaman benim için çalışıyor
<?php 
//just set a header before output 
header('Content-Type:application/json;'); 
echo json_encode($myArray); 

tarafından ele almak.

JQuery'de ayrıştırmak için JSON API olarak PHP çıktısını kullanmanız gerektiğinde bir şey daha var ... PHP'nin görüntülediği hatalar jquery tarafından okunamayacağından, yanlış kullanım hatalarını ayarlamanızı öneririm

+0

, tarayıcının aynı etki alanı politikası nedeniyle –