У меня есть немного API на основе Rails. Я пытаюсь извлечь данные и показать их в select через jQuery UI autocomplete. Но есть ошибка:Rails CORS и jQuery autocomplete
XMLHttpRequest cannot load http://api.exline.systems/regions/origin?title=%D0%95%D1%81. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:3000' is therefore not allowed access. The response had HTTP status code 404.
Я сделал все работы с заголовками. Например, если я прямой запрос через браузер: http://api.exline.systems/public/v1/regions/origin.json?title=%D0%B0%D0%BB
Я могу видеть, что все заголовки обслуживаются сервером:
Access-Control-Allow-Headers:Origin, X-Requested-With, Content-Type, Accept, Authorization
Access-Control-Allow-Methods:POST, PUT, DELETE, GET, OPTIONS
Access-Control-Allow-Origin:*
Access-Control-Request-Method:*
Но с помощью этого кода, заголовки не обслуживается сервером:
$(function() {
$('#calc-origin-ajax').autocomplete({
source: function (request, response) {
$.ajax(
{
url: 'http://api.exline.systems/regions/origin',
dataType: "json",
data: { title: request.term },
success: function (data) { response(data); }
});
}
});
});
Что мне делать, чтобы заставить его работать?
К сожалению, под локальным он по-прежнему не работает. Такого маршрута нет http://api.exline.systems/regions/origin.json. Только http://api.exline.systems/public/v1/regions/origin.json Возможно, я должен исправить что-то в моем браузере, чтобы разрешить запросы на localhost? –
, если такого маршрута нет, почему вы пытаетесь его использовать в своем коде? –
Мне очень жаль ... Просто не спала много часов. Был смущен, даже когда вы показали ошибку%) –