0

私は一般的に API にあまり詳しくありませんが、だからと言ってこの質問への回答を思いとどまらせないでください ;)

XMLHTTPRequest オブジェクトを使用してデータを取得しようとしています。本来は WSDL ファイルを使用する予定でしたが、使用している API には WSDL ファイルがありません。なんらかの理由で、応答を 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 に答える