当消费WebService时,我得到了以下错误:
URL意外以/myMethodName结尾,请求格式无法识别
如何解决这个问题?
当消费WebService时,我得到了以下错误:
URL意外以/myMethodName结尾,请求格式无法识别
如何解决这个问题?
当前回答
以我为例,当我从本地PC的Windows 10移动到安装Windows 2012的专用服务器时,出现了这个错误。 解决方案是添加到网络。配置以下行
<webServices>
<protocols>
<add name="Documentation"/>
</protocols>
</webServices>
其他回答
在html中,你必须将调用包含在一个带有GET的表单中
<a href="/service/servicename.asmx/FunctionName/parameter=SomeValue">label</a>
您还可以使用POST,其操作是web服务的位置,并通过输入标记输入参数。
还有SOAP和代理类。
一个需要ContextKey的WebMethod,
[WebMethod]
public string[] GetValues(string prefixText, int count, string contextKey)
当此键未设置时,得到异常。
通过分配AutoCompleteExtender的键来修复它。
ac.ContextKey = "myKey";
以我为例,当我从本地PC的Windows 10移动到安装Windows 2012的专用服务器时,出现了这个错误。 解决方案是添加到网络。配置以下行
<webServices>
<protocols>
<add name="Documentation"/>
</protocols>
</webServices>
确保您禁用了自定义错误。这可以掩盖代码中的原始问题:
改变
<customErrors defaultRedirect="~/Error" mode="On">
to
<customErrors defaultRedirect="~/Error" mode="Off">
我在本地主机开发时没有这个问题。然而,一旦我发布到一个web服务器,web服务返回一个空(空白)的结果,我看到我的日志中的错误。
我通过设置我的ajax contentType来修复它:
"application/json; charset=utf-8"
并使用:
JSON.stringify()
在我张贴的物体上。
var postData = {data: myData};
$.ajax({
type: "POST",
url: "../MyService.asmx/MyMethod",
data: JSON.stringify(postData),
contentType: "application/json; charset=utf-8",
success: function (data) {
console.log(data);
},
dataType: "json"
});