|   |   | 
| 
 | HTTP-сервисы 1С 8.3 и Ajax - ответы | ☑ | ||
|---|---|---|---|---|
| 0
    
        beholder13 28.02.17✎ 15:32 | 
        Доброй день, коллеги.
 Есть 1С-сервер, на котором расшарен HTTP-сервис с обработкой запросов GET/POST. Есть страница со скриптом на jQuery, которая методом .ajax() обращается к HTTP-сервису на 1С. Запрос доходит до сервера, заходит в обработчик, ответ формируется, отправляется на клиент, но ajax его не принимает, отрабатывает обработчик error. В заголовках запроса приходит "Accept" со значением "*/*", то есть, должен принимать все, но он не хочет принимать даже пустой "200". Есть мнение, что в заголовках ответа чего-то не хватает, но в своем гугле я не могу нарыть в документации чего-то, что могло бы помочь. Вопрос - как сформировать ответ, чтобы ajax его принял? Заранее спасибо. | |||
| 1
    
        beholder13 28.02.17✎ 15:36 | 
        (0) *Добрый     | |||
| 2
    
        Fragster гуру 28.02.17✎ 15:38 | 
        Процедура ЗаполнитьЗаголовки(Запрос, Ответ)
 Ответ.Заголовки.Вставить("Access-Control-Allow-Headers", "Authorization,Content-type"); Ответ.Заголовки.Вставить("Access-Control-Allow-Credentials", "true"); Если Ложь Тогда Запрос = Новый HTTPЗапрос; КонецЕсли; Origin = Запрос.Заголовки.Получить("Origin"); Если Origin = Неопределено Тогда Ответ.Заголовки.Вставить("Access-Control-Allow-Origin", "*"); Иначе Ответ.Заголовки.Вставить("Access-Control-Allow-Origin", Origin); КонецЕсли; КонецПроцедуры Функция ШаблонOptions(Запрос) Ответ = Новый HTTPСервисОтвет(200); ЗаполнитьЗаголовки(Запрос, Ответ); Возврат Ответ; КонецФункции | |||
| 3
    
        Fragster гуру 28.02.17✎ 15:38 | 
        этого должно хватить для старта     | |||
| 4
    
        Fragster гуру 28.02.17✎ 15:39 | 
        а дальше тебе надо как-то сделать так, чтобы options работал без авторизации ;)     | |||
| 5
    
        beholder13 28.02.17✎ 15:40 | 
        (2) 
 >> Если Ложь Тогда Запрос = Новый HTTPЗапрос; КонецЕсли; | |||
| 6
    
        beholder13 28.02.17✎ 15:40 | 
        (4) C OPTIONS я уже разобрался, спасибо =)     | |||
| 7
    
        Fragster гуру 28.02.17✎ 15:40 | 
        (5) так надо     | |||
| 8
    
        beholder13 28.02.17✎ 15:41 | 
        (2) Взлетело, спасибо огромное =)     | |||
| 9
    
        beholder13 28.02.17✎ 15:42 | 
        (7) я просто немного смеюсь с этой строчки)     | |||
| 10
    
        Fragster гуру 28.02.17✎ 15:43 | 
        (9) зря, такие строки очень облегчают разработку в конфигураторе 1с     | |||
| 11
    
        Pentosh 28.02.17✎ 15:45 | 
        (10) а можете объяснить подробнее?     | |||
| 12
    
        Fragster гуру 28.02.17✎ 15:46 | 
        (11) после этого работает пародия на intellisense     | |||
| 13
    
        Pentosh 28.02.17✎ 15:47 | 
        (12) понял, спасибо)     | |||
| 14
    
        badboychik 28.02.17✎ 15:54 | 
        (12) бдин, это лайфхак года!     | |||
| 15
    
        Crucian 28.02.17✎ 16:08 | 
        (13) Объясни вслух     | |||
| 16
    
        Fragster гуру 28.02.17✎ 16:10 | 
        (14) хз, я лет пять использую     | |||
| 17
    
        Юрий Лазаренко 28.02.17✎ 16:18 | 
        (12) "Ай да Пушкин, ай да сукин сын" (с)     | |||
| 18
    
        beholder13 28.02.17✎ 16:19 | 
        (10) я понимаю, чтобы контекстная подсказка выводилась =)     | |||
| 19
    
        oleg_km 01.03.17✎ 10:32 | 
        (16) Да, только если это переменная модуля, то эту магическую строчку нужно пихать в каждую процедуру.     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |