Why is Sprout Forms returning 302 for ajax requests?
First I want to say thank you to the support staff at Sprout for helping me figure out my error. 

I have the default install settings/configuration for a Sprout form. Spam protection was enabled in my case and that's what was causing the 302.

If I want to have spam protection enabled, I need to have this inside my &lt;form&gt; tags:

{% hook 'sproutForms.modifyForm' %}


So my form looks like this now:

&lt;form id="contact-form" method="post" class="main-form" accept-charset="utf-8"&gt;
    &lt;fieldset&gt;
        {% hook 'sproutForms.modifyForm' %}
        {{ csrfInput() }}
        &lt;input type="hidden" name="action" value="sprout-forms/entries/save-entry"&gt;
        &lt;input type="hidden" name="redirect" value="{{ form.redirectUri|hash }}"&gt;
        &lt;input type="hidden" name="handle" value="{{ form.handle }}"&gt;
    &lt;/fieldset&gt;

    &lt;fieldset&gt;
        {# Get the full name field. #}
        {% set fullName = form.getField('fullName') %}

        ...
    &lt;/fieldset&gt;
&lt;/form&gt;


I'm getting a 200 response back and the entry is getting created!