.done ajax给我一个错误[关闭]

Closed. This question is not reproducible or was caused by typos. It is not currently accepting answers.
                </div>
            </div>
        </div>
                <hr class="my12 outline-none baw0 bb bc-powder-2">
            <div class="grid fw-nowrap fc-black-600">
                    <div class="grid--cell mr8">
                        <svg aria-hidden="true" class="svg-icon iconLightbulb" width="18" height="18" viewbox="0 0 18 18"><path d="M9.5.5a.5.5 0 0 0-1 0v.25a.5.5 0 0 0 1 0V.5zm5.6 2.1a.5.5 0 0 0-.7-.7l-.25.25a.5.5 0 0 0 .7.7l.25-.25zM1 7.5c0-.28.22-.5.5-.5H2a.5.5 0 0 1 0 1h-.5a.5.5 0 0 1-.5-.5zm14.5 0c0-.28.22-.5.5-.5h.5a.5.5 0 0 1 0 1H16a.5.5 0 0 1-.5-.5zM2.9 1.9c.2-.2.5-.2.7 0l.25.25a.5.5 0 1 1-.7.7L2.9 2.6a.5.5 0 0 1 0-.7z" fill-opacity=".4"></path><path opacity=".4" d="M7 16h4v1a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1v-1z" fill="#3F3F3F"></path><path d="M15 8a6 6 0 0 1-3.5 5.46V14a1 1 0 0 1-1 1h-3a1 1 0 0 1-1-1v-.54A6 6 0 1 1 15 8zm-4.15-3.85a.5.5 0 0 0-.7.7l2 2a.5.5 0 0 0 .7-.7l-2-2z" fill="#FFC166"></path></svg>
                    </div>
                <div class="grid--cell lh-md">
                    <p class="mb0">
                        <b>Want to improve this question?</b> <a href="/posts/38603810/edit">Update the question</a> so it's <a href="/help/on-topic">on-topic</a> for Stack Overflow.
                    </p>
                    <p class="mb0 mt6">Closed <span title="2016-07-27 05:10:42Z" class="relativetime">3 years ago</span>.</p>
                </div>
            </div>
    </aside>

So I'm creating a contact form that sends an email using ajax and PHP.

I Seem to get an error when i run this script.

error: Uncaught Syntax Error: Unexpected token .

using chrome BTW.

I also have a PHP file, but i don't think that is relevant, i can add it if needed.

    $(function() {
    var form = $('#ajax-contact');
    var formMessages = $('#form-messages');
    var formData = $(form).serialize();


    $(form).submit(function(event) {
        event.preventDefault();
    });

    $.ajax({
      type: 'POST',
      url: $(form).attr('action'),
      data: formData
    });

    .done(function(response) {
      $(formMessages).removeClass('error');
      $(formMessages).addClass('success');

      $(formMessages).text(response);

      $('#name').val('');
      $('#email').val('');
      $('#message').val('');
    })

    .fail(function(data) {
      $(formMessages).removeClass('success');
      $(formMessages).addClass('error');

      if (data.responseText !== '') {
          $(formMessages).text(data.responseText);
      } else {
          $(formMessages).text('Oops! An error occured and your message could not be sent.');
      }
    });
});
</div>

This is happening because you are terminating the ajax call by putting a semicolon and after that you are calling .done(). The correct syntax is:

$.ajax( "..." )
.done(function() 
{ 
    alert("success"); 
});

Remove semicolon after $.ajax , from what i can tell you want to do a ajax on submit but you ajax is outside the submit event, place the code in the submit event

  var form = $('#ajax-contact');
    var formMessages = $('#form-messages');
    $(form).submit(function(event) {
            event.preventDefault();
        var formData = $(form).serialize();
        $.ajax({
          type: 'POST',
          url: $(form).attr('action'),
          data: formData
        })

        .done(function(response) {
          $(formMessages).removeClass('error');
          $(formMessages).addClass('success');

          $(formMessages).text(response);

          $('#name').val('');
          $('#email').val('');
          $('#message').val('');
        })

        .fail(function(data) {
          $(formMessages).removeClass('success');
          $(formMessages).addClass('error');

          if (data.responseText !== '') {
              $(formMessages).text(data.responseText);
          } else {
              $(formMessages).text('Oops! An error occured and your message could not be sent.');
          }
        });