java - 如何在 Spark 框架中使用 OPTIONS HTTP 方法?
问题描述
我很难理解如何使用 Spark 框架返回 HTML 页面或嵌入式 jetty-9.4.4.v20170414 服务器上允许的所有方法?
Java Spark 代码:
options("/panel/data/options", (request, response) -> request
.headers("Access-Control-Request-Method"));
AngularJS 代码:
$scope.options = function(){
$http({
method: 'OPTIONS',
url: 'http://localhost:4567/panel/data/options',
headers: {'Content-Type': 'application/x-www-form-urlencoded'}
}).then(function succesCallback(response){
alert(response.data)
});
};
这就是我到目前为止所拥有的。
解决方案
首先,您的 Spark java 方法正在修改请求标头,它应该只修改响应标头,因为您的客户端不会取回修改后的请求。
options("/panel/data/options", (request, response) -> response
.headers("Access-Control-Request-Method"));
然后在您的角度方法中,由于后端正在更改响应的标题,那么您应该阅读这些标题,而不是数据:
$scope.options = function(){
$http({
method: 'OPTIONS',
url: 'http://localhost:4567/panel/data/options',
headers: {'Content-Type': 'application/x-www-form-urlencoded'}
}).then(function succesCallback(response){
alert(response.headers)
});
};
推荐阅读
- node.js - 使用 Firebase 函数的 Google oAuth2 回调问题
- r - 计算子组的非 NA 值的百分比
- ruby-on-rails - 升级到 Rails 6 后参数数量错误(给定 4,预期为 0..1)
- mongodb - 使用 MongoDB 处理时间间隔的最佳方法是什么
- postgresql - RDS Postgresql CPU 使用率 100%,未知连接“其他”
- javascript - 如何使用 Javascript 从 hls(m3u8) 获取 mp3 文件?
- php - 正则表达式 该帖子首先出现在
- javascript - 如何在花括号内的表达式周围放置强标签?
- database - Sqlite中B-Tree的度数是多少?
- python - 将同一行中的多个值连接到列表中