Отправить JSON с POST

0

После поиска в stackoverflow я не вижу решения. У меня есть код jquery:

<script>

$('input#submit').click( function() {
    $.ajax({
        url: 'http://localhost:8081/rpc/api',
        type: 'post',
        contentType: 'application/json',            
        dataType: 'json',
        data: JSON.stringify({"jsonrpc": 2.0, "method": "entidades","params": {"file": "entidades.json"}}),
        success: function(data) {
                   alert(data);
                 },
        error:function(e){
            console.log(e);
        }
    });
});

Я пытаюсь отправить json в параметр данных в файл с сервером бутылок, который обрабатывает json и возвращает что-то.

Проблема в том, что когда я выполняю это с хром или другого браузера, я получаю это в консоли:

    OPTIONS http://localhost:8081/rpc/api 405 (Method Not Allowed)
XMLHttpRequest cannot load http://localhost:8081/rpc/api. Origin http://localhost is not allowed by Access-Control-Allow-Origin. 

Я думаю, проблема в том, что я выполняю jquery в локальном. Если это проблема, как можно сделать то же самое?

  • 0
    изменить localhost на 127.0.0.1 ?? :) (это только предположение - не волнуйтесь :)) PS: stackoverflow.com/questions/3586780/…
  • 0
    Посмотрите здесь . Возможно, это может помочь вам обойти это поведение для целей местного развития.
Теги:

2 ответа

3

Это похоже на запрос перекрестного домена, который по умолчанию не разрешен большинством браузеров. Даже просто разные номера портов сделают запрос на перекрестный домен. Вы можете рассматривать CORS как возможное решение.

http://www.html5rocks.com/en/tutorials/cors/

Другое решение - сделать обратный прокси-сервер

0

Access-Control-Allow-Origin означает, что вы не можете выполнять перекрестные вызовы. https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS

Единственный способ решить эту проблему - позволить CORS на сервере. Я думаю, что есть другое обходное решение, использующее JSONP вместо использования $.ajax(), но я никогда не использовал его

  • 0
    JSONP только для запросов GET

Ещё вопросы

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