2016-10-24 4 views
-3

ich verschiedene Methoden ausprobiert habe von meinem Hosting here, mit PHP und JSON-Daten aus MySQL in android angezeigt werden aber immer Fehler immer wie diese Screenshot_2016-10-22-15-52-56-359_flix.yudi.okh.pngANDROID & PHP - Warum erhalte ich diese JSONArray Parsing-Fehler

aber wenn ich fordern Sie eine weitere link mit dem gleichen JSON Ergebnis seiner Arbeit feine

ich habe versucht, herauszufinden, und ich schlug vor, JavaScript in meinem Hosting zu aktivieren, aber ich herausfinden, hat noch keinen Hinweis, wie JavaScript in meinem Hosting zu ermöglichen ,

hier ist der PHP Code encode_JSON

<?php 
    include 'dbconfig.php'; 
    $con = new mysqli($servername, $username, $password, $dbname); 
    if (mysqli_connect_errno()) { 
     echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    } 

    $query = "select id,ask from pertanyaan"; 

    $result = mysqli_query($con, $query); 

    $rows = array(); 
    while ($r = mysqli_fetch_array($result)) { 
     $rows[] = $r; 
    } 
    echo json_encode(array_values($rows)); 

    mysqli_close($con); 
?> 

habe ich falsch Code von PHP encode_json?

EDITED AFTER ADD header('Content-Type: application/json');

LogCat notif

10-24 14:16:09.010 17727-17749/flix.yudi.okhttp1 E/MainActivity: Response from url: <html><body><script type="text/javascript" src="/aes.js" ></script><script>function toNumbers(d){var e=[];d.replace(/(..)/g,function(d){e.push(parseInt(d,16))});return e}function toHex(){for(var d=[],d=1==arguments.length&&arguments[0].constructor==Array?arguments[0]:arguments,e="",f=0;f<d.length;f++)e+=(16>d[f]?"0":"")+d[f].toString(16);return e.toLowerCase()}var a=toNumbers("f655ba9d09a112d4968c63579db590b4"),b=toNumbers("98344c2eee86c3994890592585b49f80"),c=toNumbers("455e95bd78dbe99a933749187199f824");document.cookie="__test="+toHex(slowAES.decrypt(c,2,a,b))+"; expires=Thu, 31-Dec-37 23:55:55 GMT; path=/"; location.href="http://www.zxccvvv.cuccfree.com/send_data.php?i=1";</script><noscript>This site requires Javascript to work, please enable Javascript in your browser or use a browser with Javascript support</noscript></body></html> 
10-24 14:16:09.010 17727-17749/flix.yudi.okhttp1 E/MainActivity: Json parsing error: Value <html><body><script of type java.lang.String cannot be converted to JSONArray 
10-24 14:16:09.161 17727-17746/flix.yudi.okhttp1 V/RenderScript: 0x55abdd14e0 Launching thread(s), CPUs 8 
+0

Rufen Sie das Skript in einem Browser und prüfen, ob es eine gültige Json ist, scheint es, dass Sie HTML-Tags in der Antwort enthalten. Anstatt eine Fehlerzeichenfolge auszugeben, setzen Sie einen entsprechenden Header-Code wie 500 –

+0

teilen Android-Code –

+0

@ka_lin, wie Sie überprüfen, ob der Link ein gültiger JSON ist? Ich habe versucht, die Antwort [hier] (http://prnt.sc/cxrwgd) – Flix

Antwort

1

zwei Anfrage gegeben verglichen. Sie haben die Kopfzeile im PHP-Skript nicht als JSON festgelegt. für Content-Type-Header als JSON Einstellung folgenden Code in PHP-Skript setzen

header('Content-Type: application/json'); 

Es wird funktionieren. Es gibt keinen Fehler in Ihrem Android-Code, da die 2. URL das gewünschte Ergebnis liefert. Ich glaube auch nicht, dass es ein Problem bei der Kodierung von JSON gibt.

Beim Vergleichen von zwei Links überprüfen Sie die Content-type Header in der Anfrage, beide sind unterschiedlich. enter image description here

enter image description here

+0

noch den gleichen Fehler sir bekommen, aber ich denke, es sollte – Flix

+0

korrigieren, was Fehler, den Sie bekommen? – Nakul

+0

https://wordpress.org/support/topic/it-looks-like-this-is-a-web-page-not-a-feed-i-looked-for-a-feed-associated/ I Denken Sie, das Problem hängt mit Ihrer Hosting-Umgebung zusammen. Es blockiert nicht browser Zugriff auf Ihre Seite. – Nakul

1

Sie können dies versuchen.

<?php 
    include 'dbconfig.php'; 
    $con = new mysqli($servername, $username, $password, $dbname); 
    if (mysqli_connect_errno()) { 
     echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    } 

    $query = "select id,ask from pertanyaan"; 

    $result = mysqli_query($con, $query); 


    while ($r = mysqli_fetch_array($result)) { 
     extract($r); 
    $rows[] = array(
    "id"=>$id, 
    "ask"=>$ask 
    ); 
    } 
    header('Content-Type: application/json'); 
    echo json_encode($rows); 

    mysqli_close($con); 
?> 
+0

nicht Vergessen Sie vote up dies Ihren nützlichen –

+0

für die Antwort Sir danke antworten – Flix

Verwandte Themen