JQuery POST на локальный хост возвращает ошибку HTTP 501

Я пытаюсь сделать запрос POST jQuery с локально размещенной веб-страницы на локально размещенный сервер.

Мой сервер слушает Когда я отправляю POST-запрос с помощью моего HTTP-клиента, я получаю ответ 201 created, как и ожидал .

Теперь я пытаюсь отправить тот же запрос с помощью jQuery:

function postAppointment() {

    $.post({
        url:'http://localhost:8085/appointments',
        data: appointmentFactory(),
        crossDomain: true,
        headers: {
            'Content-Type' : 'application/json',
            'Accept' : 'application/json'

        }
    });
}

Я получаю следующее сообщение об ошибке из консоли ошибок Safari:

[Error] Failed to load resource: the server responded with a status of 501 (Not Implemented) ([object Object], line 0)

Однако я не уверен, что сервер на самом деле отвечает, потому что я пытался отправить запросы на netcat, и он не распечатывает никаких запросов, а если я использую HTTP-клиент с графическим интерфейсом, netcat распечатывает запросы.

Итак... мне кажется, что это проблема на стороне клиента, поскольку моя серверная служба подтверждена работой моего HTTP-клиента с графическим интерфейсом. Я подумал, что, возможно, эта проблема связана с тем, как я обслуживаю свою страницу, поэтому я попытался обслуживать страницу:

  1. Открытие прямо из Finder
  2. Открытие через ссылку IDE, которая, похоже, запускает сервер (JetBrains WebStorm)
  3. python -m SimpleHTTPServer

Есть ли недостающая конфигурация на стороне клиента, которая мешает мне отправить запрос?

Спасибо за любую помощь.

И если вам интересно, appointmentFactory() возвращается

Object
eventName: "Fiesta Forever"
phoneNumber: "13125555555"
time: Thu Dec 18 2014 17:15:00 GMT-0600 (CST)
__proto__: Object

И я также отправил запрос, проанализировав объект с помощью JSON.stringify().... Я не уверен, что это делается автоматически.

Я также попробовал запрос через Desktop Chrome и получил следующую дополнительную информацию: введите здесь описание изображения

Еще раз спасибо за любую помощь.

-Блейк


person Blake G    schedule 18.12.2014    source источник
comment
Может быть дубликатом этого: stackoverflow.com/questions/3121451/   -  person Patrick C    schedule 19.12.2014
comment
data не может быть просто объектом JavaScript, иначе jQuery закодирует его, используя кодировку URL (name=value&...) — он не проверяет тип содержимого. Вам нужно сериализовать его в строку JSON вручную.   -  person Cameron    schedule 19.12.2014
comment
Спасибо Кэмерон, я буду отправлять будущие запросы, используя JSON.stringify()... Я не был уверен, что это делается автоматически.   -  person Blake G    schedule 19.12.2014
comment
Что касается JSONP, считаются ли клиент и сервер находящимися в другом домене, если они оба работают на локальном хосте?   -  person Blake G    schedule 19.12.2014