[JS/JSON/PHP/MySQL] Krijg autocompletion niet voor elkaar

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Topicstarter
Ik geef toe, dit zijn mijn eerste stapjes met JS, JSON icm PHP en MySQL.
Ik heb zelf een script gegeven die (als het goed is) een bepaalde output in JSON formaat uitpoept.

Mijn Javascript (jQueryUI, autocompletion) krijg ik echter niet aan de praat en ik zie niet over het hoofd wat ik nu mis doe. Ik ben al twee dagen diverse tutorials aan het iinlezen en begin het een beetje door te krijgen inmiddels en ik geloof dat ik de JSON output inmiddels wel goed heb.

Toch wil het om de een of andere reden niet lukken om het werkend te krijgen.
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
$(function() {
    $( "#q" ).autocomplete({
        source: function( request, response ) {
            $.ajax({
                url: "http://cptchaos.nl/mybf3/lib/autocomplete.php",
                dataType: "jsonp",
                data: {
                    featureClass: "P",
                    style: "full",
                    maxRows: 12,
                    name_startsWith: request.term
                },
                success: function( data ) {
                    response( $.map( data.SoldierNames, function( item ) {
                        return {
                            label: item.name,
                            value: item.name
                        }
                    }));
                }
            });
        },
        minLength: 2,
    });
});
Dit is wat ik als JS-code heb,
code:
1
{"SoldierNames":[{"name":"FastestW"},{"name":"Testalol"},{"name":"Whitest0ne"}]}
is voorbeeld output. Ik dacht eerst dat het wellicht de header was, maar dit heb ik reeds gecorrigeerd middels de header() functie van PHP.

De form die ik gebruik is overigens als volgt:
HTML:
1
2
3
4
5
6
7
<form method="get" action="index.php?mbfpage=search">
    <input type="hidden" name="mbfpage" value="search" />
    Search for soldiername
    <input name="q" id="q" />
    <input type="hidden" name="type" value="soldier" /> <!-- Deze staat er expres nog even in, moet ik er nog uit halen, komt later -->
    <input type="submit" value="Go!" />
</form>


Ook heb ik de documentatie van jQuery UI erbij gepakt, maar krijg het daarmee niet voor elkaar. Sterker nog, met het voorbeeld krijg ik het wel werkend, ook al zou ik het zo minimaal hebben als bovenstaand. Echter is data.SoldierNames dan uiteraard een andere. ;)

[ Voor 4% gewijzigd door CH4OS op 05-12-2011 22:12 ]


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Post de output gewoon even tussen [code] tags ofzo want die pagina zeurt om een login.

Then again: misschien is dat het hele probleem wel; heb je al eens gekeken in Firebug/IE F12 Dev.tools/Chrome Dev.tools/Safari Dev.tools/Opera Dragonfly/Fiddler2/Wireshark oid. wat er precies verstuurd wordt?

[ Voor 32% gewijzigd door RobIII op 05-12-2011 22:10 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Topicstarter
RobIII schreef op maandag 05 december 2011 @ 22:08:
Post de output gewoon even tussen [code] tags ofzo want die pagina zeurt om een login.
Hmmm... Had ik nog niet eens aan gedacht, maar vreemde is wel, ik ben wél ingelogd (met de browser althans).
Then again: misschien is dat het hele probleem wel; heb je al eens gekeken in Firebug/ Chrome Devtools / Wireshark oid. wat er precies verstuurd wordt?
De output is iig als volgt:
code:
1
{"SoldierNames":[{"name":"FastestW"},{"name":"Testalol"},{"name":"Whitest0ne"}]}


EDIT:
Ook het uitschakelen van de login heeft niet mogen baten.

EDIT2:
Zojuist wat zitten debuggen, het lijkt erop dat jQuery een variabele verstuurd waar mijn autocompletion.php geen rekening mee houdt.

EDIT3:
Ik heb het script verder aangepast, ben er geloof ik bijna, FireBug geeft nu de melding dat er een invalid label is, ik ga even zoeken. :)

EDIT4:
En ook die is opgelost! Ik gebruikte jsonp ipv json!

[ Voor 25% gewijzigd door CH4OS op 05-12-2011 22:42 ]


Acties:
  • 0 Henk 'm!

  • OkkE
  • Registratie: Oktober 2000
  • Laatst online: 04-09 08:16

OkkE

CSS influencer :+

Dus nu werkt het? :)

“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.


Acties:
  • 0 Henk 'm!

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

CptChaos, ik ben blij dat je het probleem hebt kunnen oplossen. Mocht je nog specifieke informatie hebben met betrekking tot je oplossing, dan zien we het graag nog in dit topic verschijnen.

Naar aanleiding van je TR: Topics gaan niet per definitie op slot :)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.