首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >$http post()格式默认为HTML

$http post()格式默认为HTML
EN

Stack Overflow用户
提问于 2014-08-01 17:10:51
回答 3查看 97关注 0票数 0

我有一个工厂,它公开了下面使用$http.post()的create()函数。由于某种原因,当从ng调用时,请求将被格式化为HTML。所有的参数都在我想要的位置,但是Rails正在以HTML的形式处理请求。

工厂:

代码语言:javascript
复制
orizabaServices.factory('requestTypeFactory', ["$http", function($http){
    var urlBase = '/request_types';
    var requestTypeFactory = {};

    requestTypeFactory.create = function(params){
      data = {};
      data.authenticity_token =  $("meta[name='csrf-token']").attr("content");
      data.request_type = params;
      return $http.post(urlBase, data)
    };

    return requestTypeFactory;
  }
])

错误:

代码语言:javascript
复制
Started POST "/request_types" for 127.0.0.1 at 2014-08-01 17:10:00 +0000
Processing by RequestTypesController#create as HTML
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-08-01 17:39:27

您可以指定请求的格式,将'.json‘添加到urlBase中。例如:

代码语言:javascript
复制
var urlBase = '/request_types.json';
票数 2
EN

Stack Overflow用户

发布于 2014-08-01 17:16:37

您需要为urlBase添加“完整URL”。如果您请求本地机器上的POST方法

代码语言:javascript
复制
var urlBase = 'http://127.0.0.1/request_types'; 

尝尝这个

票数 0
EN

Stack Overflow用户

发布于 2014-08-01 17:32:36

这是因为在默认情况下,rails将所有请求都视为HTML。您可以在您的config/routeres.rb文件中更改此行为,如下所示:

代码语言:javascript
复制
resources :request_types, :defaults => {:format => 'json'}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25085367

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档