Ошибка Rails ajax: неверный аргумент

0

Использование rails 4.0.0, ruby 2.0.0p247, jquery-rails 3.1.0 и jquery 1.10.

Работает в FF, IE10+ и Chrome. Ошибка в IE8 (не протестировал IE9).

Я пытаюсь использовать ajax data-remote чтобы вызвать щелчок по ссылке, чтобы обновить статус человека. Но в IE8 я получаю неопределенную JQHXR: JQHXR аргумент. Я не уверен, как подойти к этому.

Ошибка возникает после строки 157 jquery_ujs.js

154    // Only pass url to 'ajax' options if not blank
155    if (url) { options.url = url; }
156
157    var jqxhr = rails.ajax(options);
158    element.trigger('ajax:send', jqxhr);
159    return jqxhr;

Отладка значений в IE8 (после строки 157, т.е. стрелка в строке 158)

[-]     options {...}   Object
        crossDomain null    Variant
        data    null    Variant
        dataType    "json"  String
        type    "patch" String
        url "/persons/status/1/stop"    String

[-]     jqxhr   {...}   Object
        readyState  0   Number
        responseJSON    undefined   Undefined
        status  0   Number
        statusText  "Error: Invalid argument."  String

Мой код:

<%= link_to status, status_path(person_id: p.id, status: status), remote: true, 'data-method'=> 'patch' %>

Почему мой вызов ajax не работает и что недействительно?

  • 0
    Хммм. Я не прав. Вы говорите, что после строки 157 ... это значит, что это строка 158?
  • 0
    Я думаю, вам лучше показать людям некоторые из ваших кодов, а не только ошибки
Показать ещё 1 комментарий
Теги:
internet-explorer-8

1 ответ

0

Я предполагаю, что это связано с отсутствием поддержки метода PATCH IE 8. Подробнее в этой статье - ilyai.github.io/rest/http/2013/06/11/http-method-support.html - ilyai 13 часов назад

Пришлось использовать PUT вместо PATCH.

Ещё вопросы

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