我正在尝试使用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中使用这个服务吗?