Как я фиксирую ошибку сообщения запроса Ajax?

в методе pickContacts, измените его, чтобы получить Contacts._ID, он случайно находит идентификатор, потому что оба RawContacts._ID и Contacts._ID являются строкой «_id», но это просто неправильно. ]

Затем, поскольку вы на самом деле захватываете идентификатор контакта, вам нужно изменить getContactDetails, чтобы он принимал ContactId, а не RawContactId.

Не уверен, почему вам нужно задействовать Entity API-интерфейсов подобным образом, если вам нужно только запросить данные этого контакта, сделайте следующее:

private void getContactDetails (long contactId) {
    Log.i("Contacts", "Get contact with id " + contactId);

    String[] projection = new String[]{Data.DISPLAY_NAME, Data.MIMETYPE, Data.DATA1};
    String selection = Data.CONTACT_ID + "=" + contactId;
    Cursor c = getContentResolver().query(Data.CONTENT_URI, projection, selection, null, null);
    if (c == null) {
        return;
    }
    try {
        while (c.moveToNext()) {
            String name = c.getString(0);
            String mimeType = c.getString(1);
            String data = c.getString(2);

            Log.i("Contacts", contactId + ", " + name + ", " + mimetype + ", " + data);
        }
    } finally {
        c.close();
    }
}
200
задан Peter Mortensen 22 July 2017 в 01:36
поделиться

4 ответа

Начиная с jQuery 1.5 вы можете использовать механизм отложенных объектов:

$.post('some.php', {name: 'John'})
    .done(function(msg){  })
    .fail(function(xhr, status, error) {
        // error handling
    });

Другой способ - использовать .ajax :

$.ajax({
  type: "POST",
  url: "some.php",
  data: "name=John&location=Boston",
  success: function(msg){
        alert( "Data Saved: " + msg );
  },
  error: function(XMLHttpRequest, textStatus, errorThrown) {
     alert("some error");
  }
});
286
ответ дан 23 November 2019 в 05:04
поделиться

Необходимо зарегистрировать responseText:

$.ajax({
    type: 'POST',
    url: 'status.ajax.php',
    data: {
    deviceId: id
  }
})
.done(
 function (data) {
  //your code
 }
)
.fail(function (data) {
      console.log( "Ajax failed: " + data['responseText'] );
})
0
ответ дан 23 November 2019 в 05:04
поделиться
$.ajax({
  type: 'POST',
  url: 'status.ajax.php',
  data: {
     deviceId: id
  },
  success: function(data){
     // your code from above
  },
  error: function(xhr, textStatus, error){
      console.log(xhr.statusText);
      console.log(textStatus);
      console.log(error);
  }
});
88
ответ дан 23 November 2019 в 05:04
поделиться

Простой способ - реализовать ajaxError :

Каждый раз, когда запрос Ajax завершает с ошибкой, jQuery запускает событие ajaxError. Все без исключения обработчики , которые были зарегистрированы с помощью метода .ajaxError (), в этот раз выполняются в .

Например:

$('.log').ajaxError(function() {
  $(this).text('Triggered ajaxError handler.');
});

Я бы посоветовал прочитать документацию ajaxError . Он делает больше, чем простой пример использования, продемонстрированный выше - в основном его обратный вызов принимает ряд параметров:

$('.log').ajaxError(function(e, xhr, settings, exception) {
  if (settings.url == 'ajax/missing.html') {
    $(this).text('Triggered ajaxError handler.');
  }
});
13
ответ дан 23 November 2019 в 05:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: