Getting JSON value from php using jquery ajax
嗨朋友可以任何人我这个PLZ。 我刚开始这一章..我正在尝试从PHP获取JSON格式值但是在运行时我得到了这个输出"SyntaxError:JSON.parse:unexpected characte"..我想我在php转换中做错了... plz 帮帮我的朋友
我的.html文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | <html> <head> <script src="http://code.jquery.com/jquery-1.8.3.min.js"> Display Page </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); } }); }); }); </body> </html> |
generatephp.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <?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 ?> |
这可能是因为
你错过了
1 2 3 4 5 6 7 8 9 | $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文件名是
我会用不同的东西......
PHP:
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?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 = that $ i
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | <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 ... } |
如果问题仍然存在...请尝试http://php.net/manual/ro/function.urlencode.php
除了明显的问题(咳嗽MySQL_ *)之外,您的PHP文件应该在响应头中指定输出将是JSON类型。 输出默认为
你可以这样做
1 2 3 |