2013-12-13 172 views
0

嗨朋友們可以任何人爲我這個PLZ。即時通訊新的這一章..我試圖從PHP獲取JSON格式的值,但即時通訊運行時,我得到了這個輸出「SyntaxError:JSON.parse:unexpected characte」..我想我已經做了錯誤的PHP轉換... PLZ幫助我的朋友從jQuery使用jQuery獲取JSON值ajax

的.html文件

<html> 
<head> 
    <script src="http://code.jquery.com/jquery-1.8.3.min.js"></script> 
    <title>Display Page</title> 
</head> 
<body> 
    <button type='button' id='getdata'>GetData.</button> 
    <button type='button' id='get'>sample</button> 
    <script type='text/javascript'> 
    $('#get').click(function() { 
     alert("laksjdflk"); 
    }); 
    $(document).ready(function() { 
     $('#getdata').click(function() { 
      $.ajax({ 
       url:'neww.php' , 
       dataType:'json' , 
       success:function(output_string) { 
        alert(output_string); 
       }, 
       error:function(xhr,ajaxOptions,thrownError){ 
        alert(xhr.statusText); 
        alert(thrownError); 
       } 
      }); 
     }); 
    }); 
    </script> 
</body> 
</html> 

generatephp.php

<?php 
    mysql_connect("localhost","root",""); 
    mysql_select_db("androidlogin"); 

    $sql=mysql_query("SELECT* FROM trysave"); 

    $temp=""; 
    $i=0; 
    while($row=mysql_fetch_assoc($sql)){ 
     $temp=$row['stringss']; 
     $temp.=$row['integerr']; 
     $array[i]=$temp; 
     i++; 
    } 
    echo json_encode($array);// this will print the output in json 
?> 
+0

請參閱以下鏈接[jQuery的Ajax的獲得在-JSON的價值 - 從 - PHP] [1] [1]:HTTP:/ /stackoverflow.com/questions/19029703/jquery-using-ajax-to-send-data-and-save-in-php/19029778#19029778 –

回答

2

這可能是因爲Undefined array variable notice你要define array的情況下,沒有records found

你也variable i這給錯誤(如常數處理,並在代碼中未定義),i應該$i像以前一樣錯過了$

$array=array();// define here to prevent from "Notice" 
while($row=mysql_fetch_assoc($sql)) 
{ 
    $temp=$row['stringss']; 
    $temp.=$row['integerr']; 
    $array[$i]=$temp;// use $ before i 
    $i++;// use $ before i 
} 
echo json_encode($array);// this will print the output in json 

還有一件事你已提及PHP文件名generatephp.php並且您在$.ajax()中使用url:'neww.php' ,,則必須檢查一次代碼。

1

明顯的問題(咳嗽 MySQL_ *)另外,您的PHP文件應該在響應頭中指定輸出將是JSON類型。輸出默認爲text/html,Javascript無法將其解析爲有效的JSON對象。

你可以像下面這樣做

<?php 
header('Content-type: application/json'); 
// Rest of the code remains intact 
1

我WOLD使用不同的東西......

PHP:

<?php 
    mysql_connect("localhost","root",""); 


    $sql=mysql_query("SELECT stringss, integerr FROM androidlogin.trysave"); 

    $temp=array(); 
    $i=0; 
    while($row=mysql_fetch_assoc($sql)){ 
     $temp[] = $row; 
      } 
    echo json_encode($temp);// this will print the output in json 
?> 

//你不需要因爲你$ i變量將得到在java str.length = $ i

<script type='text/javascript'> 
    $('#get').click(function() { 
     alert("laksjdflk"); 
    }); 

    $(document).ready(function() { 
     $('#getdata').click(
     function() { 
jQuery.getJSON("neww.php") //no get vars 

.done(function(a) { 
//console.clear(); 
console.log(a); 
show_data(a); 
}) 

.fail(function(a) { 
console.log("error"); 
}); 

}); 
}); 


function show_data(a){ 

for(var i=0; i<a.length; i++) 
var stringss = a[i].stringss; 
var integerr = a[i].integerr; 
var nuber_temp = i; 
//do stuff with them ... 

} 
    </script> 

如果問題仍然存在...嘗試http://php.net/manual/ro/function.urlencode.php