JQUERY JSON AJAX werkt offline, maar niet online

Ik heb deze code. Het werkt prima op mijn localhost, maar als ik het online zet, slaat het alleen de gegevens op in de database, maar het lijkt er niet op te laden.

Wanneer ik via ajax een string van api.php naar de site stuur, werkt deze. Dus misschien heeft het te maken met JSON. Aan de andere kant probeerde ik het get_json-voorbeeld uit van http://api.jquery.com/jQuery. getJSON/ op mijn server en dat werkt ook.

Ik heb veel verschillende dingen uitgeprobeerd, zoals jsonp, json-fallback enzovoort, maar niets lijkt te werken.

Dit is de code:

api.php:

<?php
include('db.php');
$con = mysql_connect($host,$user,$pass);
$dbs = mysql_select_db($databaseName, $con);
$tableName = $_GET['page'];
$category = $_GET['category'];
$date = $_GET['date'];

if ($date == Null){
if ($category <> Null){
$result = mysql_query("SELECT * FROM $tableName WHERE category LIKE '$category'");  
}else {
$result = mysql_query("SELECT * FROM $tableName"); 
}
}else{
$result = mysql_query("SELECT * FROM $tableName WHERE date LIKE '$date'"); 
}

$data = array();
while ( $row = mysql_fetch_row($result))
{
echo json_encode($data);
?>

ergens in de backend:

$.ajax({  
    url: 'api.php?page=home', data: "", dataType: 'json',  success: function(rows) {                        
        for (var i in rows){
                var row = rows[i];  
                var vdate = row[0];
                var vtitle = row[1];
                var vcontent = row[2];
                $('#edate').val(vdate);
                $('#etitle').val(vtitle);
               $('#econtent').val(vcontent);
            }
    }
}); 

Alle hulp op prijs gesteld!

0
Zijn er fouten in uw webserverlogboek? of php-fouten? of MySQL fouten? of fouten in de browser?
toegevoegd de auteur ManseUK, de bron

2 antwoord

Ik heb dit niet uitgebreid onderzocht, maar dit is waarschijnlijk jouw probleem:

$data = array();
while ( $row = mysql_fetch_row($result))
{
echo json_encode($data);
?>

je zou dat moeten sluiten terwijl en json de $ rij codeert en niet $ data

2
toegevoegd

Check your console (firefox or chrome press F12 > Click Console, See any errors?, post them to your question.

Gebruik ook de $. Ajax die is ingebouwd in de fouthandler.

$.ajax({  
url: 'api.php?page=home',
data: "",
dataType: 'json',
success: function(rows) {
    for (var i in rows){
            var row = rows[i];  
            var vdate = row[0];
            var vtitle = row[1];
            var vcontent = row[2];
            $('#edate').val(vdate);
            $('#etitle').val(vtitle);
           $('#econtent').val(vcontent);
        }
},
// Any HTTP Errors will be alerted.
error: function (xhr, ajaxOptions, thrownError){
    alert(xhr.status);
    alert(thrownError);
}
});

Mainly.. Check your console for errors. It must be throwing an error in your console, or the handler above.

0
toegevoegd
ah bedankt voor je snelle antwoorden. Ik heb het zojuist naar een andere server geüpload en nu werkt het ... nou .. :)
toegevoegd de auteur HTron, de bron