我对API不是很熟悉,但不要让这阻止你回答这个问题;)
我正在尝试使用 XMLHTTPRequest 对象拉取数据。我最初打算使用 WSDL 文件,但我使用的 API 没有。出于某种原因,当我尝试在 HTML 文件中显示响应时,没有任何遇到,甚至没有它没有连接的错误。该 API 还需要使用 POST。
这是javascript:
window.onload = function startCall() {
var http = new XMLHttpRequest();
var url = "https://api.domain.com";
var params = "Version=2.00&ApiKey=111111111111111111&CallID=001";
http.open("POST", url, true);
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http.setRequestHeader("Content-length", "226");
http.setRequestHeader("Host", "api.domain.com");
http.onreadystatechange = function() {
if(http.readyState == 4 && http.status == 200) {
alert(http.responseText);
}
}
http.send(params);
function sendToHtml(url, 'target') {
if (req.readyState == 4) {
if (req.status == 200) {
document.getElementById('target').innerHTML = req.responseText;
}
}
else {
document.getElementById('target').innerHTML=" Error:n"+ req.status + "n" +req.statusText;
}
}
}
这是 HTML
<html>
<head>
<script type="text/javascript" src="call.js"></script>
</head>
<body>
<span onload="startCall" id="target">
</span>
</body>
</html>
谢谢你的任何帮助
域
之间的POST
请求受到限制,因此浏览器不允许这样做。
可以选择通过发送正确的Access-Control-Allow-Origin
来启用它(CORS
),但它必须在API服务器上完成。