Ajax json публикует на контроллере через домены, «что не разрешено» Access-Control-Allow-Headers

Я создаю простое действие контроллера MVC, которое принимает некоторые данные json, а затем возвращает значение true или false.

    [AllowCrossSiteJson]
    public JsonResult AddPerson(Person person)
    {
            //do stuff with person object
           return Json(true);
    }

Я называю это из javascript:

        function saveData(person) {
            var json = $.toJSON(person); //converts person object to json
            $.ajax({
                url: "http://somedomain.com/Ajax/AddPerson",
                type: 'POST',
                dataType: 'json',
                data: json,
                contentType: 'application/json; charset=utf-8',
                success: function (data) {
                    alert("ok");
                }
            });
        }

Все работает, пока я нахожусь в одном домене, но как только я звоню из другого домена, я сталкиваюсь с проблемами.

На контроллере установлен фильтр действий «AllowCrosSiteJson», устанавливающий для заголовка «Access-Control-Allow-Origin» значение «*», позволяющее любому источнику доступа к действию контроллера.

public class AllowCrossSiteJsonAttribute : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        filterContext.RequestContext.HttpContext.Response.AddHeader("Access-Control-Allow-Origin", "*");
        base.OnActionExecuting(filterContext);
    }
}

Однако - Затем я получаю эту ошибку в firebug при вызове по доменам:

OPTIONS http://somedomain.com/Ajax/AddPerson?packageId=3 500 (Внутренняя ошибка сервера) Не удается загрузить http://somedomain.com/Ajax/AddPerson . Поле Content-Type заголовка запроса запрещено в Access-Control-Allow-Headers.

Что здесь плохого?

Я часами искал возможные решения, и это, кажется, связано с jquery с помощью OPTIONS (не POST, как я ожидал).

Если это действительно проблема, как я могу исправить это?

-121--1535172-

MySQL найти режим нескольких подмножеств У меня есть база данных, как: custNum дата покупки dayOfWeek 333 2001-01-01 23.23 1 333 2001-03-04 34.56 5 345 2008-02-...

У меня есть такая база данных:

custNum         date        purchase        dayOfWeek
  333         2001-01-01    23.23            1
  333         2001-03-04    34.56            5
  345         2008-02-02    22.55            3
  345         2008-04-05    12.35            6
  ...          ...           ...            ...

Я пытаюсь получить режим (наиболее часто встречающееся значение) для столбца dayOfWeek для каждого клиента. В основном, это будет день недели, когда каждый клиент делает больше всего магазинов. Например:

custNum         max(count(dayofweek(date)))
 333                   5
 345                   3
 356                   2
 388                   7
 ...                  ...

Любая помощь была бы большой благодарностью.

5
задан screechOwl 25 September 2011 в 18:41
поделиться