jQuery contentType
- это на самом деле просто параметр, который устанавливает заголовок типа контента в HTTP-запросе к серверу.Всегда рекомендуется устанавливать их для вызовов AJAX.
Добавлено: Еще одна полезная практика - указать параметр dataType
, поскольку он будет устанавливать заголовок accept в вашем HTTP-запросе.Это полезно как для запросов GET, так и для запросов POST AJAX.
Большинство, если не все, каркасы веб-сервисов (Rails, ASP.NET MVC, .NET WCF и т. Д.) Имеют возможность проверять заголовки HTTP-запроса и определять, какой тип контента следует обслуживать.
, например: application/json
в заголовке HTTP позволит вашему веб-сервису узнать ответ JSON вместо ответа HTML или XML.
Некоторые из лучших способов, которыми я видел вебПриложения, организованные для обслуживания HTML / JSON, позволяют вашим стандартным маршрутам всегда обслуживать ваши HTML-страницы и ресурсы, например:
http://servername/abc
http://servername/abc/javascript/jquery.js
будет работать точнокак ты сказал.Для ваших ответов в формате JSON (или даже XML) я вижу, что люди создают маршрут, понятный для простоты для поддержки этих типов ответов, то есть:
http://servername/api/abc/countries/de
, с которого начинается URL-маршрут/api/
, который всегда следует понимать как ответ на не-html-ответ JSON / XML
, благодаря которому вашей компании довольно просто понять, что маршруты внутри /api/
являются вашими ответами JSON / XML.,Это также упрощает предоставление этих методов внешним клиентам, если вы захотите сделать это при наличии инфраструктуры, вам просто нужно будет аутентифицировать и т. Д. Запросы.