0

一般来说,我对 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>

感谢您的任何帮助

4

1 回答 1

0

POST域之间的请求受到限制,因此浏览器将不允许它。

CORS可以选择通过发送正确的来启用它( ) Access-Control-Allow-Origin,但必须在 API 服务器上完成。

于 2013-10-15T18:22:15.797 回答