RESTful запрос в ajax и реагировать

0

хороший день, я пытаюсь использовать веб-службу в реагировании, но у меня возникают проблемы с функцией ajax, я не уверен, работает ли мой код:

prox= {"email":email, "password": password};
//tag comment
$.ajax({
  type: 'POST',
  url: (web service url),
  data: JSON.stringify(prox),
  contentType: "application/json; charset=utf-8",
  crossDomain: true,
  dataType: 'json',   
  success: function(data) {
    this.setState({success: true, result: data});
    alert("success");
    this.setState({prueba: 'success'});
  }.bind(this),
  error: function() {
    this.setState({failure: true});
    alert("failure");
    this.setState({prueba: 'failure'});
  }.bind(this)
});

но у меня нет никаких предупреждений, когда я нажимаю кнопку только для повторной визуализации формы, функция handdle submit работает, я пытаюсь помещать подтверждение() в пространство, где комментарий тега//и подтверждение всплывают, но предупреждения не делают, я думаю, что у меня есть ошибка в функции или что-то в этом роде, спасибо за помощь.

3 ответа

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

Делая некоторые обширные исследования, я вижу, что моя настоящая проблема, у которой есть одна и та же политика происхождения, теперь я отлично работаю в localhost-версии проекта, спасибо.

0

Похоже, что он работает по большей части. Я бросил его в JSBin, и, похоже, ничего необычного.

http://jsbin.com/rulaguxote/1/edit?html,js,output

Я сохранил ваш JSX в основном тем же, и добавил несколько компонентов в компонент, чтобы помочь вам визуализировать его состояние. Нажмите кнопку, чтобы отправить фальшивый запрос ajax. В зависимости от состояния он либо отправит HTTP-статус 200 или 400 (успех или неудача). Таким образом, вы можете видеть, как работают функции success() и error().

Еще одно замечание: если вы обеспокоены тем, что ваш .bind(this) является причиной того, что ваш код не работает, вы можете указать такой контекст:

$.ajax({
    type        : 'POST',
    url         : '/test',
    data        : JSON.stringify(prox),
    contentType : "application/json; charset=utf-8",
    context     : this, //use this instead of .bind
    success     : function (data) {
        this.setState({success : true, failure : false});
        alert("success");
    },
    error       : function () {
        this.setState({failure : true, success : false});
        alert("failure");
    }
});

Дайте знать, если у вас появятся вопросы.

0

Я не запускал сценарий, а просто смотрел на него. Я предполагаю, что проблема может быть вашей bind(this)

this.setState для меня должно быть ошибкой " не является функцией ", поскольку this не объект реакции. Чтобы получить предупреждение, поставьте предупреждение как первое состояние.

Чтобы точно посмотреть на консоль браузера.

  • 0
    В его привязке к контексту нет ничего плохого. this все еще относится к экземпляру компонента React. Смотри мой ответ.

Ещё вопросы

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