2016-04-03 2 views
2

Ich habe folgenden jQuery-Code für die die automatische Vervollständigung,Wie macht man jQuery mit einem AJAX-Aufruf an ein PHP-Skript?

$("#text").autocomplete({ 
     source: function(request, response) { 
     $.ajax({ 
      type: 'GET', 
      url: 'server.php', 
      dataType: 'json', 
      data: { 
      input: request.term 
      }, 
      success: function(data) { 
      response($.map(data, function(item) { 
      return { 
       label: item.Symbol + " - " + item.Name + " (" + item.Exchange + ")" 
      } 
      })); 
     } 
     }); 
     }, 
     minLength: 1, 
     select: function(event, ui) { 
      var symbol = ui.item.label.split(' '); 
       setTimeout(function() { 
        $('#text').val(symbol[0]); 
       },0); 
     } 
    }); 

Jedes Mal, wenn ein Benutzer eine Taste in der Textbox eintritt, wird ein AJAX-Aufruf zu einer PHP-Datei vorgenommen. Diese PHP-Datei wird Daten von einer API abrufen und die Liste der Vorschläge für die Autocomplete-Funktion aktualisieren?

<?php 
if(!empty($_GET['term'])) { 
     $term = $_GET['term']; 
     $url = "http://dev.markitondemand.com/MODApis/Api/v2/Lookup/json?input=".$term; 

     $j_response = file_get_contents($url); 
     $j_response = json_decode($j_response); 

     print json_encode($j_response); 

    } 
?> 

Aus irgendeinem Grund

ich den folgenden Code in der PHP-Seite habe, die die automatische Vervollständigung funktioniert nicht für me- was ich falsch hier?

Antwort

2

In der PHP versuchen Sie $_GET['term'] zu verwenden, aber in Ihrem JavaScript heißt Ihre Variable input. Ändern Sie das zu verwendende Datenobjekt term nicht input:

data: { 
    term: request.term 
}, 
Verwandte Themen