我在尝试提交表单时遇到405错误。这是我的控制者:
'使用严格的';
<div class="zip-popup text-center">
<div class="popup-container">
<form name="zipForm" class="zip-form" ng-submit="submitForm(zipForm.$valid)" novalidate>
<input ng-model="user.zipCode" ng-pattern="regex" name="zipCode" class="form-control text-center" placeholder="Your Zip" required />
<p class="error" ng-show="zipForm.zipCode.$invalid && !zipForm.zipCode.$pristine">A 5 digit zip code is required.</p>
<button type="submit" class="btn btn-block" ng-disabled="zipForm.$invalid">Submit</button>
</form>
</div>
</div>
继承我的观点:
STL(Steriolithographic)
是否需要修改不同的文件或其他内容才能实现此目的?我错过了什么?
答案 0 :(得分:1)
服务器告诉您特定方法(class AttachmentUploader < CarrierWave::Uploader::Base
# Include RMagick or MiniMagick support:
# include CarrierWave::RMagick
# include CarrierWave::MiniMagick
# Choose what kind of storage to use for this uploader:
storage :file
# storage :fog
# Override the directory where uploaded files will be stored.
# This is a sensible default for uploaders that are meant to be mounted:
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
def extension_white_list
%w(zip)
#%w(pdf doc htm html docx)
end
end
,GET
,POST
,PUT
,PATCH
等)可以&#39;被服务器接受。这很可能是因为您的API路由/端点没有配置DELETE
方法。
例如,在ExpressJS中,您需要通过执行以下操作来配置接受POST
的路由:
POST
有关app.post('/leads', function (req, res) {
res.send('POST request to the homepage');
});
错误的更多信息,click here。
答案 1 :(得分:0)
'Content-Type'
。
然而,将Content-Type
更改为application / json解决了这个问题:
$http({
method : 'POST',
url : '/leads',
data : $scope.user,
headers : {'Content-Type': 'application/json'}
})
.success(function(response) {
$scope.show = false;
})
.error(function(response) {
console.log(response);
});
P.S。我并不是说这必然会解决您的问题,但这是与此类问题相关的解决方案。只需找出服务器期望的输入类型。
修改强>
我不是说'application/json'
作为Content-Type
发送。我所说的只是查找可接受的内容类型并发送该类型的标题。
答案 2 :(得分:0)
您尝试让后端工程师实施OPTIONS方法。
https://en.wikipedia.org/wiki/Cross-origin_resource_sharing#Preflight_example