我正在尝试使用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>
有人能告诉我这里缺少什么吗?
答案 0 :(得分:1)
url: "0.0.0.0:3000/search"
您是否尝试过使用"http://0.0.0.0:3000/search"
或"/search"
? docs不会按照您的方式编写网址。我建议您只使用"/search"
。
编辑:此外,您是否打开了控制台并查看了网络请求?查看请求标头,并确保它是正确的URL。将来,这应该是您调试时的第一步。
答案 1 :(得分:0)
您是从file://
加载角度文件吗?
浏览器不能以这种方式发出HTTP请求。在您的服务器上托管您的静态文件,一切都很好。