Html 西纳特拉;$HTTP.delete 404
正在尝试从Heroku上托管的我的API中删除。 在Ruby文件中,启用了跨源代码,我可以从API中获取信息。 尽管我在向服务器发出删除请求时遇到了问题。 我得到一个错误404(页面未找到),但当我自己在浏览器中键入url时,我可以很容易地得到这个页面。 cURL调用也可以正常工作,没有任何问题 script.jsHtml 西纳特拉;$HTTP.delete 404,html,ruby,angular,Html,Ruby,Angular,正在尝试从Heroku上托管的我的API中删除。 在Ruby文件中,启用了跨源代码,我可以从API中获取信息。 尽管我在向服务器发出删除请求时遇到了问题。 我得到一个错误404(页面未找到),但当我自己在浏览器中键入url时,我可以很容易地得到这个页面。 cURL调用也可以正常工作,没有任何问题 script.js $scope.DeleteData = function (index) { $scope.id = $scope.companies[index].companyID; var d
$scope.DeleteData = function (index) {
$scope.id = $scope.companies[index].companyID;
var deleteUrl = 'https://*****.herokuapp.com/api/v1/companies/' + $scope.id;
$http.delete(deleteUrl,'DELETE').then(function(response){
console.log(response);
},function(errorResponse){
console.log(errorResponse);
});
};
Ruby.rb
delete '/companies/:companyID' do
tempCompanyID = params['companyID']
company = Company.where(companyID: tempCompanyID).first
company.destroy
end
Html:
公司ID
公司名称
地址
城市
国家
业主
{{company.companyID}
{{company.companyName}
{{公司地址}
{{公司.城市}
{{company.country}
{{company.owners}}
删除
铬响应:
看起来您的Angular代码正试图连接到
/api/v1/companys/:companyID
,但您的Sinatra代码正在侦听/companys/:companyID
。你在做某种重写吗?为了回答你的问题@Piccolo,我使用了一个名称空间,我自己找到了解决方案。这是一个服务器问题。需要进行配置吗
<div ng-app="myApp" ng-controller="companyCtrl">
<table class="table table-striped table-hover">
<thead class="thead-dark">
<th>Company ID</th>
<th>Company Name</th>
<th>Address</th>
<th>City</th>
<th>Country</th>
<th>Owners</th>
<th></th>
</thead>
<tr ng-repeat="company in companies">
<td>{{company.companyID}}</td>
<td>{{company.companyName}}</td>
<td>{{company.address}}</td>
<td>{{company.city}}</td>
<td>{{company.country}}</td>
<td>{{company.owners}}</td>
<td><button class="btn" name="_method" ng-click="DeleteData($index)">Delete</button></td>
</tr>
</table>
</div>