rails使用angular获取请求无法正常工作

时间:2016-02-15 20:04:46

标签: javascript ruby-on-rails ruby angularjs

我正在尝试使用search应用中的angular来实现rails页面。如果我转到http://0.0.0.0:3000/search.json,我也会在浏览器中成功获得json响应。所以导轨部分工作正常。

但是chrome如果按下搜索按钮,我会收到以下错误

  

XMLHttpRequest无法加载%30.0.0.0:3000 / search。交叉起源   请求仅支持协议方案:http,data,chrome,   chrome-extension,https,chrome-extension-resource

并在firefox获得not found 404 error

app.js

app.controller('searchCtrl', function ($scope, $http) {


    $scope.getrooms = function(){
        $http({
            url: "0.0.0.0:3000/search",
            method: "GET"
        }).success(function(response){
            $scope.rooms = response;
        });
    };
    });

pages_controller.rb

  def search
    @rooms_address = Room.all
    respond_to do |format|
      format.html
      format.json { render :json => @rooms_address }
    end
  end

search.html.erb

  <input type="text" ng-model="searchLocation">

   <button ng-click="getrooms()">Search</button>

有人能告诉我这里缺少什么吗?

2 个答案:

答案 0 :(得分:1)

        url: "0.0.0.0:3000/search"

您是否尝试过使用"http://0.0.0.0:3000/search""/search"docs不会按照您的方式编写网址。我建议您只使用"/search"

编辑:此外,您是否打开了控制台并查看了网络请求?查看请求标头,并确保它是正确的URL。将来,这应该是您调试时的第一步。

答案 1 :(得分:0)

您是从file://加载角度文件吗?

浏览器不能以这种方式发出HTTP请求。在您的服务器上托管您的静态文件,一切都很好。