在Javascript或XmlHttpRequest中使用WCF REST服务的POST方法

时间:2014-12-02 11:14:39

标签: javascript c# asp.net wcf rest

我正在尝试使用GET方法访问WCF REST服务。这个问题是,我的参数有时可能很长(比字符串String的最大字符多的字符),所以我想用POST实现相同的功能。

注意:我通过JavaScript消费服务(我不想使用JQuery - 因为我已经在使用Sencha(Sencha不提供任何POST方法))XmlHttpRequest。 的

function GetData() {
   // alert("hello");
    var xmlhttp = new XMLHttpRequest();
    var url = "http://lclhost.com/WcfWebService.svc/doworks";
   // alert("hello1");
    xmlhttp.open("POST", url, true);
   /// alert("hello2");
    var params = "name=Jack";
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlhttp.onreadystatechange = function () { //Call a function when the state changes.
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            alert(xmlhttp.responseText);
        }
        else {
            alert("Status:"+xmlhttp.status+"State"+xmlhttp.readyState);
        }
    }
    xmlhttp.onerror = function (e) {
        //alert error
        alert('error');
    }
xmlhttp.send(params);
}

的 我的服务是

[OperationContract]
 [WebInvoke(Method="POST", ResponseFormat = WebMessageFormat.Json, UriTemplate = "doworks")]
 string DoWorks(string name);

在通过asp.Net Web应用程序使用javascript函数时,我收到Status:0State4的警报。我不确定是什么问题。你能帮我解决一下如何通过XMLHttpRequest / Javascript在POST中使用这个服务吗?

0 个答案:

没有答案