数据应包含您在 Web 服务中调用的方法的参数。然而,ashx 扩展是针对 HTTP Handler 的,对于这种情况来说这不是一个好的选择。应改用 Web 服务。
所以如果你打电话/services/LoginServices.asmx?CheckUserName
,并且 CheckUserName.asmx 有一个 webmethodValidateUser
such as
public string ValidateUser(string username)
那么data
jQuery 的属性是
data: '{ "username": "' + usernameValue + '"}'
your contentType
应该application/json; charset=utf-8
, and dataType
应该"json"
.
请注意,您不会打电话/services/CheckUserName.asmx
,Web 服务中方法的名称必须附加到 Web 服务 url 中,/services/LoginServices.asmx?CheckUserName
.
此外,您还需要更改您的type
to "POST"
.
这是一个完整的示例:
$.ajax({
type: 'POST',
url: 'LoginServices.asmx/CheckUserName',
data: '{"username": "' + usernameValue + '"}',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function(msg) {
alert("Result: " + msg);
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert("Error: " + textStatus);
}});
希望这可以帮助