我有这个问题。
下面是我的jquery代码和aspx.cs代码
我应该将$('#UserID').val()
作为参数发送给WebMethod
但在WebMethod中,它始终为空
如果我将$('#UserID').val()
更改为any string
,则效果很好
#UserID
是正确的。因为我用这个值做了一个警告窗口
和..我已经改变data: '{userId: "' + $('#UserID').val() + '"}',
至data: JSON.stringify({ userId: $('#UserID').val() })
但没有任何作用。
$.ajax({
url: "register.aspx/IsIdAvailable",
type: "post",
contentType: "application/json; charset=utf-8",
dataType: "json",
data: '{userId: "' + $('#UserID').val() + '"}',
dataFilter: function (data) {
var msg = JSON.parse(data);
if (msg.hasOwnProperty('d'))
return msg.d;
else
return msg;
}
})
[WebMethod]
public static bool test(string userId)
{
System.Diagnostics.Trace.WriteLine("userId: " + userId +"!");
...
}
输出始终为userId: !
答案 0 :(得分:1)
尝试将您的数据属性更改为:
data: {'userId': $("#UserID").val()}