我正在尝试在我的网页上创建一个链接,当访问该链接时,会导致发送带有非正常方法的 HTTP 请求(为了示例,该方法是POSTS)。我知道常规的 HTML 表单只支持 GET 和 POST,而 AJAX 应该支持 PUT 和删除。有没有办法用不同于这些标准 HTTP 方法的方法发出请求?提前致谢。
===============
在提示之后,我调整了我的页面以具有以下 HTML:
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(function(){
$("button").click(function(){
$.ajax({url:"http://www.example.php",type:"POSTS",dataType:"html"});
});
});
</script>
</head>
<body>
<button>Send Request</button>
</body>
</html>
令人惊讶的是,这在 Chrome 和 Firefox 中不起作用,但在 IE 的更新版本中起作用:当我尝试使用 Firefox 和 Chrome 发出请求时,浏览器发出了一个带有 OPTIONS 方法和以下标头的请求:
Access-Control-Request-Method: POSTS
只有 IE 根据要求发出请求 - 使用 POSTS HTTP 方法。
===
事实证明,上述 HTML 不起作用。(未发出带有自定义标头的所需请求)。正如我上面提到的,firefox 和 chrome 发出带有 Access-Control-Request-Method 标头的初始请求,而 IE 根本不发出请求。我调整了浏览器安全设置(启用了“跨域访问数据源),但浏览器仍然没有发出请求。我猜浏览器设置需要进一步调整,有没有人知道这是怎么回事可以解决吗?