2015-05-18 13 views
7

Ich verwende Select2 Version 4.0.0 und versuche, ein Remote-JSON von einem PHP-Skript zu laden, das die bereits formatierten Daten zurückgibt, die ich brauche. Das Problem ist, dass die Kräfte der Dunkelheit etwas machen, weil ich die Anfrage einfach nicht senden kann, es gibt keinen Fehler, aber es wird keine Anfrage gesendet, es bleibt einfach so still wie ein Teufel, dass ich fast weine!Select2 mit Ajax sendet keine Anfrage

Ich benutze LiveScript und Jade als Alternativen zu JavaScript und HTML, aber ich werde sie hier übersetzen.

Zuerst mein Markup definiert das auswählbaren Feld:

<select id="satan-hates-me"></select> 

Dann ich bin in der Lage, um es wie ein auswählbaren Element aussehen:

$("#satan-hates-me").select2({ 
    placeholder: "Hail", 
    minimumInputLength: 1, 
    ajax: { // Here that bad things happen, I mean, don't happen 
     url: "http://localhost/os/backend/TestServiceOrder.php?req=getEquipments", 
     dataType: "json", 
     type: "GET", 
     quietMillis: 50, 
     data: function(term) { return { term: term } }, 
     results: function(data) { return data; } 
    } 
    }); 

ich dies in einem gewickelten Durchführung Ladefunktion, nach dem Laden der Seite, es sieht aus wie eine wählbare, aber sendet keine Anfragen, und das Skript gibt mir genau das erforderliche Format, als Beispiel:

[{id: 1, text: "Sadness"}, {id: 2, text: "Depression"}] 

Und hier geht. Ich kann Compiler entwerfen, aber ich kann nicht in der Welt ein Plugin mit Ajax arbeiten lassen! Kann mir bitte jemand helfen?

+0

Ah, zu verwenden, haben einen perfekten Tag, was zu sterben! –

+1

'Ergebnisse' ist jetzt' processResults' in 4.0.0. Und haben Sie bestätigt, dass keine Anfragen in Ihren Entwicklertools gesendet werden, oder basiert dies auf der Protokollierung in "Ergebnissen"? –

+0

Oh, ja, ich tat es. Am Ende löste ich es durch eine externe Anfrage und durch die Verwendung von Async-Programmierung mit Monaden, um mit Berechnungen umzugehen, die fehlschlagen könnten. –

Antwort

12

Schließlich gesendet werden soll aufgelöst Das Thema.

<input> nicht

in select2 v4 unterstützt

.Sie <select> Element anstelle

+0

Vielen Dank. Dies löste ein ähnliches Problem für mich (mit simple_form, angegeben 'als:: select' reparierte es) –

+0

Oh mein Lordy Tage ... – K7Buoy

-1

Gerade heute begann ich dieses Plugin zu verwenden.

Versuchen Sie ersetzen diese:

data: function(term) { return { term: term } } 

durch diese:

data: function(term) { return { term: term.term } } 

Aber wie auch immer .. die Anfrage auch als bestanden, wenn die Daten falsch formatiert ...

Verwandte Themen