我遇到一个问题,我的图表(使用AJAX-POST-PHP)没有出现在亚马逊上
http://cdpmotest.s3-website.eu-
central-1.amazonaws.com/
它说(错误的方法405错误)
这是我的CORS Config:
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>HEAD</AllowedMethod>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>DELETE</AllowedMethod>
<AllowedMethod>PUT</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
这是我的脚本:
<script>
$(document).ready(function(){
var randomScalingFactor = function(){ return Math.round(Math.random()*100)};
$.ajax({
url: 'graph-data.php',
type: 'POST',
dataType: 'json',
success: function(data) {
var array1 = data.map(function(item) {
return parseInt(item[1], 10);
});
var array2 = data.map(function(item) {
return parseInt(item[2], 10);
});
createGraph(array1, array2);
}
});//end AJAX request
function createGraph(array1, array2) {
var ctx = document.getElementById("chart-area1").getContext("2d");
var barChartData = {
labels : ["Land Acquisition","Design Concept","Permits and Licensing","Tendering","Elec.+Water Requests","Construction Start","Construction Finish","Site Handover"],
datasets : [
{
fillColor : "rgba(0,154,166,0.5)",
strokeColor : "rgba(0,154,166,0.8)",
highlightFill: "rgba(0,154,166,0.75)",
highlightStroke: "rgba(0,154,166,1)",
data : array1
},
{
fillColor : "rgba(77,79,83,0.5)",
strokeColor : "rgba(77,79,83,0.8)",
highlightFill : "rgba(77,79,83,0.75)",
highlightStroke : "rgba(77,79,83,1)",
data : array2
}
]
}//end bar chart data
window.myBar = new Chart(ctx).Bar(barChartData, {
responsive : true
});
}//end createGraph
});
</script>
在localhost(WAMPServer)上工作正常
你能帮我吗?
该错误的直接原因与CORS无关,实际上是由S3网站终结点不支持POST
(只有REST终结点支持,但实际上与当前问题无关)引起的。
真正的问题是,您似乎试图将S3用于它不能做的事情。
$.ajax({
url: 'graph-data.php',
type: 'POST',
S3是 对象存储 ,而不是应用程序服务器。
您无法在S3上运行php。您无法在S3上执行任何服务器端代码。
您可以在Amazon
S3上托管静态网站。在静态网站上,单个网页包含静态内容。它们也可能包含客户端脚本。相比之下,动态网站依赖于服务器端处理,包括服务器端脚本,例如PHP,JSP或ASP.NET。Amazon
S3不支持服务器端脚本。http://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html
该文档的同一页将为您提供完成所需内容的替代AWS解决方案。
我有一个非常简单的Spring引导应用程序,它由以下代码保护: 这个想法是为了保护“admin”部分。它公开了一个RESTAPI。问题是所有的帖子都被退回了 405方法不允许 如果我从应用程序中删除安全启动器,它就会工作。这让我相信安全配置是问题所在。但我不知道怎么做。
我有一个restcontroller和post方法,带有以下url和json请求。http://server/member/sc/v1/limited-liability/medicare 使用post方法和json请求在本地触发请求时,获得正确的响应。但在docker中以spring boot应用程序的形式运行会将异常作为不允许的方法抛出。最初,我将这个docker服务部署为put方法。现在我转
我有以下发帖方法, 我正在使用fiddler发布以下请求, 注意:还没有为spring配置安全性。
问题内容: 我刚刚开始学习Flask,并且我正在尝试创建一种允许POST方法的表单。 这是我的方法: 而我的: 加载表单(在收到GET时将其呈现)可以正常工作。但是,当我单击“ 提交”按钮时,出现一个。 为什么不显示“ Hello”? 问题答案: 除非存在输入错误,否则你的表单将提交给路由方法,除非你输入错误,否则应调整表单的属性以指向视图
问题内容: 我打算使用Ajax将跨域请求发送到soap Web服务。Web服务的URL是:http://example1.asmx?op = GetVOD 我的代码: 在IIS 7服务器端,我已经将这些行添加到文件web.config中 当我在Chrome上运行客户端代码时,出现405错误: 有谁知道如何解决这个问题? 预先感谢 问题答案: 听起来像Web DAV正在阻碍。这是删除它的配置: ht
我正在使用ajax进行表单更新。当我在ajax中使用GET方法时,它工作得很好,但当我使用Post方法时,它抛出了错误405 method,这是不允许的。我正在本地主机上测试这个。我以前在localhost中做过,效果很好。顺便说一句,我用的是Laravel5.2。 这是我的ajax代码。 这是我在视图中使用的脚本 这是我的路线 当ajax函数和路由中的方法更改为GET时,它会打印在控制台中传递的