Skip to content

Instantly share code, notes, and snippets.

@low
Last active October 18, 2020 13:21
Show Gist options
  • Select an option

  • Save low/4632695 to your computer and use it in GitHub Desktop.

Select an option

Save low/4632695 to your computer and use it in GitHub Desktop.
Using Low Search for ExpressionEngine with Ajax. Change any of the three variables on top to suit your needs. Tested with jQuery 1.9.0.
(function($){
$(function(){
var $form = $('#search'), // Search form
$target = $('#results'), // Results container
rp = 'search/ajax-results'; // Template for results only
// Function to execute on success
var success = function(data, status, xhr) {
$target.html(data);
};
// Hijack the form on submit
$form.submit(function(){
// Tell target we're loading
$target.html('<p>Loading...</p>');
// Add custom result page to data
var data = $form.serialize()
+ '&result_page=' + rp;
// Perform the ajax call
$.ajax({
type: 'POST',
url: $form.attr('action'),
data: data,
success: success,
dataType: 'html'
});
// Don't submit the form afterwards
return false;
});
});
})(jQuery);
@low

low commented Feb 23, 2013

Copy link
Copy Markdown
Author

Also, make sure your Redirection Method in the Output and Debugging settings is set to "Redirect", not "Refresh".

@johnhunt

johnhunt commented Aug 1, 2014

Copy link
Copy Markdown

First result in google. Thank you Low! 👍

ghost commented Jan 20, 2016

Copy link
Copy Markdown

Is it possible to get the encoded query so we can change the URL via pushstate?

@umkasanki

Copy link
Copy Markdown

"Is it possible to get the encoded query so we can change the URL via pushstate?"
+1

@kubik101

kubik101 commented Jun 2, 2016

Copy link
Copy Markdown

What should the search results tag look like within the search/ajax-results template? eg:
{exp:low_search:results query="{last_segment}" channel="{segment_1}" orderby="title" sort="asc" }

@b3nhartl3y

Copy link
Copy Markdown

Hi Low, this is great thank you. Any pointers to integrate pagination?

@mindpixel-labs

Copy link
Copy Markdown

@low Does this still work in the EE4 version?

@paulcripps

Copy link
Copy Markdown

@low I'd also be interested to know if this works in the EE4? @mindpixel-labs did you get it to work?

@low

low commented Feb 6, 2019

Copy link
Copy Markdown
Author

This approach still works today, but you might want to tweak the jQuery syntax (or use some other JS lib).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment