Ajax-вызов приводит к перезагрузке страницы

-1

У меня есть следующий вызов AJAX в методе React:

  handleActivitySubmit: function handleActivitySubmit(activity, urlActivity, callbackMy) {
    console.log("making query with activity: " + JSON.stringify(activity));
    $.ajax({
      url: urlActivity,
      dataType: 'json',
      type: 'GET',
      data: activity,
      success: function (data) {
        callbackMy(Object.keys(data));
      }.bind(this),
      error: function (xhr, status, err) {
        console.error(urlActivity, status, err.toString());
      }.bind(this)
    });
  },

Всякий раз, когда вызов не выполняется, вся страница перезагружается, и все состояние теряется.

Почему это так?

Теги:

1 ответ

2
Лучший ответ

Ваша форма HTML должна отправить форму в action = url. Это метод по умолчанию, в котором обрабатываются формы, т.е. Если вы нажмете элемент <input type="submit"../> он всегда перезагрузит браузер. Вам нужно будет использовать event.preventDefault() в вашем обработчике, чтобы предотвратить действие по умолчанию.

Получить событие click в форме submit в качестве последнего аргумента handleActivitySubmit т. handleActivitySubmit

handleActivitySubmit: function handleActivitySubmit(activity, urlActivity, callbackMy, event) {
  event.preventDefault();
  // your remaining code
  }

Ещё вопросы

Сообщество Overcoder
Наверх
Меню