为什么我的POST XMLHttpRequest.Send无法正常工作?

时间:2019-07-03 23:17:54

标签: javascript api xmlhttprequest

我在正确设置XMLHttpRequest对象以将数据发布到服务器时遇到问题。似乎从未发布过数据(来自HTML表单),或者至少未达到 readyState == 4 && 状态

    function PostToAPI() {

        var payersName = document.forms["myForm"]["payersName"].value;  
        var recipientPhoneNumber = document.forms["myForm"]["recipientPhoneNumber"].value;
        var apiKey = document.forms["myForm"]["apiKey"].value;  

        var params = "payersName="+payersName+
                     "&recipientPhoneNumber="+recipientPhoneNumber+  
                     "&apiKey="+apiKey;         

        alert(params);  // Note#1

        var Url = "https://api.blackShawls.af/c2b"; // Note#2
        var xhr = new XMLHttpRequest();
        xhr.open('POST', Url, true);
        xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');

        xhr.onreadystatechange = processRequest;

        function processRequest(e) {
            if (xhr.readyState == 4 && xhr.status == 200)  {
                alert(xhr.responseText.headers.Host); // Note#3
            }
        }

        xhr.send(params);

    }

注释

  1. (注意#1)此警报产生以下结果:
    the result shown from this alert

    这表明已成功读取HTML表单中的各个字段,并且到目前为止一切正常。

  2. (注#2)与我的代码中的一个相反,此处的 Url 值是虚拟的。

  3. (注#3)alert(xhr.responseText.headers.Host);似乎从未启动,这表明readyStatestatus条件从未得到满足。

    还是xhr.send(params)从未发送过?

有人可以指出我的代码在哪里出问题吗?

期待您的帮助。

0 个答案:

没有答案