【发布时间】:2018-06-24 02:46:30
【问题描述】:
我正在使用 POST 测试 JS。但我没有成功。
使用代码:
<!DOCTYPE html>
<html>
<body>
<div>
testing js...
</div>
<script>
function upload() {
var method = "POST";
var url = "http://127.0.0.1:9000/push";
var xhr = new XMLHttpRequest();
xhr.open(method, url);
xhr.setRequestHeader("Content-Type", "text/plain;charset=UTF-8");
xhr.setRequestHeader("Access-Control-Allow-Origin", "*");
var text = {"command":"PUSH"};
xhr.send(text);
}
upload();
</script>
</body>
</html>
我收到以下错误:
奇怪的是,请求标头没有通过该行正确设置:
xhr.setRequestHeader("Access-Control-Allow-Origin", "*");
请求头是这样的:
【问题讨论】:
-
您也必须在您的服务器上启用跨域访问。
-
xhr.setRequestHeader— 这是一个 response 标头,而不是请求标头! -
“奇怪的是请求标头没有被正确设置”——因为它不是一个安全的请求标头,所以浏览器会先请求服务器的许可……但是如上所述,它首先不属于请求。
-
var text = {"command":"PUSH"};— 这是一个对象,而不是文本。
标签: javascript xmlhttprequest request-headers