2016-04-01 3 views
1

wie im Titel erklärt, habe ich ein Suchformular mit einer Autocomplete-Funktion, die gut funktioniert auf localhost, aber sobald ich es auf einem Remote-Server legte es funktioniert nicht mehr.Autocomplete funktioniert auf localhost, aber nicht auf dem Server

Ich hoffe, Sie können mir helfen. Hier ist einige Code:

index.php:

<!DOCTYPE html> 
<html lang="de"> 
<head> 
    <? 
    header("Content-Type: text/html; charset=iso-8859-1"); 

    ?> 

    <link rel="stylesheet" href="css/jquery-ui-1.10.3.custom.min.css" /> 
    <link rel="stylesheet" href="css/bootstrap.min.css" /> 

    <link rel="stylesheet" href="css/style.css" /> 


    <script src="js/jquery-1.10.2.min.js"></script> 
    <script src="js/jquery-ui-1.10.3.custom.min.js"></script> 
    <script src="js/bootstrap.min.js"></script> 
</head> 
<body> 

    <div id="wrap"> 
     <h1 class="text-center">Suche</h1> 
     <div class="row"> 
      <div class="col-xs-6 col-sm-4 col-md-4 col-xs-offset-6 col-sm-offset-4 col-md-offset-4"> 
       <form method='POST' action=''> 
       <input type='text' name='food' id="country_name" class="form-control txt-auto"/> 
       <input type='submit' value='search'> 
       </form> 

      </div> 

     </div> 

    </div> 



    <script src="js/auto.js"></script> 
</body> 
</html> 

ajax.php

<?php 


header('Content-Type: text/html; charset=UTF-8'); 

require_once 'config.php'; 

if($_GET['type'] == 'country'){ 
    $result = mysql_query("SELECT * 
     FROM table 
     WHERE name LIKE '%".strtoupper($_GET['name_startsWith'])."%' 
     LIMIT 8"); 
    $data = array(); 
    while ($row = mysql_fetch_array($result)) { 
     array_push($data, $row['name']);  
    } 
    echo json_encode($data); 
} 

?> 

auto.js

$('#country_name').autocomplete({ 
        source: function(request, response) { 
         $.ajax({ 
          url : 'ajax.php', 
          dataType: "json", 
          data: { 
           name_startsWith: request.term, 
           type: 'country' 
          }, 
          success: function(data) { 
           response($.map(data, function(item) { 
            return { 
             label: item, 
             value: item 
            } 
           })); 
          } 
         }); 
        }, 
        autoFocus: true, 
        minLength: 0   
        }); 
+2

was sagt die XHR-Konsole? Erhalten Sie irgendwelche Fehler zurück? – DevDonkey

+0

Es sagt: "XHR fertig Laden: GET" – Fukuan

+0

Ich denke, das ist kein Fehler – Fukuan

Antwort

0

Sie vermissen die PHP in HTML und Wenn Ihr Server nicht für kurze offene Tags eingerichtet ist - kann ein Problem auftreten, und wie in den Kommentaren gezeigt - sollte es keine t kein HTML-Inhalt vor der Header-Deklaration sein.

sollte sein:

<?php 
    header("Content-Type: text/html; charset=iso-8859-1"); 
    ?> 
+0

Dies wird wahrscheinlich so oder so fehlschlagen, da es HTML-Ausgabe ist bevor. – jeroen

+0

Es gibt ein HTML-Tag, ich habe es nicht richtig formatiert – Fukuan

+0

Versucht, diesen Inhalt zu entfernen, aber immer noch nicht funktioniert – Fukuan