【发布时间】:2015-10-25 05:22:17
【问题描述】:
我在使用 POST 方法的牛仔 REST 请求时遇到问题。如果通过提交表单内容完成 POST,它可以正常工作,但是当我使用 AJAX 将 POST 内容发送到服务器时它会响应。
错误响应是: 415 不支持的媒体类型
这是我的 content_types_provided 和 content_types_accepted 代码
content_types_accepted(Req, State) ->
Handler = [
{<<"text/html">>, handle_post_html},
{{<<"application">>,<<"json">>, []}, handle_post_html},
{{<<"text">>, <<"plain">>, []}, handle_post_html}],
{Handler, Req, State}.
content_types_provided(Req, State)->
Handler = [
{<<"text/html">>, parse_html},
{<<"application/json">>, parse_json},
{<<"text/plain">>, parse_plain_text}],
{Handler, Req, State}.
任何机构对此案有任何想法?
【问题讨论】:
-
您可以打印
Req并找到它包含的内容类型。我认为你应该使用类似{<<"application">>, <<"x-www-form-urlencoded">>, []} -
是的,我已经添加了,但是当通过 AJAX (XMLHTTPRequest) 发布帖子时,它会响应 415。但是如果帖子是通过表单提交按钮制作的,则可以正常工作。
标签: jquery ajax rest erlang cowboy