Domanda

E 'possibile passare una variabile di ricerca nel motore di Google Custom Search che ho embedded sul mio sito web? Posso ottenere il motore di ricerca per il lavoro, ma non riesco a passare un termine tramite POST (che proviene da un pulsante di ricerca su altre pagine del sito)

Ho provato a modificare il codice che ho trovato qui: http: //code.google.com/apis/ajax/playground/?exp=search#hello_world

E questo è ciò che ho finora ... ($ q è il termine sto passando ad esso)

<script type="text/javascript">
    google.load('search', '1', {language : 'en'});

    function OnLoad()
    {
        var customSearchControl = new google.search.CustomSearchControl('***my key****');
        customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
        customSearchControl.draw('cse');
        searchControl.execute("$q");
    }
    google.setOnLoadCallback(OnLoad);
</script>   

Grazie

È stato utile?

Soluzione

Mi dispiace, so che è una risposta scadente, ma in realtà ti ho capito bene a parte che fa riferimento al nome della variabile sbagliata. Oh, inoltre, come un a parte, vorrei anche sperare che stai facendo una sorta di sanificazione in $ q, nel caso in cui qualcuno ha postato qualcosa di simile al modulo: termine "); alert (" aha

    customSearchControl.draw('cse');
    searchControl.execute("$q");

dovrebbe essere:

    customSearchControl.draw('cse');
    customSearchControl.execute("$q");

Inoltre, grazie per la domanda - che stavo cercando per sapere come fare questo io stesso

!

Altri suggerimenti

Questo è quello di aiutare coloro che utilizzano PHP cercando di raggiungere questo stesso obiettivo. L'esempio precedente utilizza ...

customSearchControl.execute("$q");

per leggere il parametro essendo passaggi in. Su un sito PHP si usa ...

customSearchControl.execute("<?php echo $_POST['your_paramter_name_here'];?>");

Si potrebbe utilizzare $ _GET o $ _REQUEST se il parametro non è nel post.

Ovviamente si deve dovrebbe sterilizzare l'input prima. Qualcosa di simile a questo è abbastanza debole, ma è un inizio ...

customSearchControl.execute("<?php echo htmlentities( trim( $_POST['your_paramter_name_here'] ), ENT_QUOTES );?>");

Nel caso in cui qualcuno è alla ricerca di un po 'più dritto in avanti / soluzione semplice. Tutto quello che dovete fare è passare parole chiave di ricerca nel parametro GET denominato q (da modulo personalizzato nella pagina in cui il vostro GCS è), GCS utilizzerà automaticamente quella frase di ricerca.

Fonte: https://developers.google.com/custom- Ricerca / jSON-api / v1 / using_rest

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top