如何使用javascript将post方法中的参数发送到api

时间:2014-08-23 14:57:16

标签: javascript

我在get方法中调用了API并发送了参数。 现在我想使用POST方法调用相同的API。如何在javascript中传递参数.. 我试过了

if(XMLHttpRequestObject){
           XMLHttpRequestObject.open(" POST"," Myapi / GetApplicationStatus?ApplicationNo = 10011",true);

       XMLHttpRequestObject.onreadystatechange = function()  
       {       
            if (XMLHttpRequestObject.readyState == 4)  
             {  //alert("XML ReadyState");
                if(XMLHttpRequestObject.status == 200)
                 {  //alert("XML status");
                     xmlDocument = XMLHttpRequestObject.responseXML;  
                    displayGuest(xmlDocument);  
                 }

            }  
       }  
       XMLHttpRequestObject.send(null);  
  }

2 个答案:

答案 0 :(得分:0)

发送POST请求时,您必须将参数与URL分开:

var url = "Myapi/GetApplicationStatus";
var params = "ApplicationNo=10011";
XMLHttpRequestObject.open("POST", url, true);

并注意设置一些要为请求设置的http标头

XMLHttpRequestObject.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
XMLHttpRequestObject.setRequestHeader("Content-length", params.length);
XMLHttpRequestObject.setRequestHeader("Connection", "close");

XMLHttpRequestObject.onreadystatechange = function() {//Call a function when the state changes.
if(XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {
    alert(XMLHttpRequestObject.responseText);
}

}

最后发送参数:

XMLHttpRequestObject.send(params);

这是来自此来源的调整后的示例,您应该检查:Send Parameter in post method

答案 1 :(得分:0)

它依赖于提供api的服务器端。如果服务器支持POST请求,那么您可以像问题一样发送参数。