提问人:Audrey Wilrose 提问时间:8/18/2020 最后编辑:wazzAudrey Wilrose 更新时间:8/20/2020 访问量:33
使用 javascript/jquery 调用带有参数的 Web 方法
Calling web method with parameter using javascript/jquery
问:
日安。我想做的是调用一个在我的jquery中接受字符串参数的web方法。但我不能让它工作。我一直在搜索和测试代码,但当我传递参数时它不起作用。
使用此代码有效。但这只会调用没有参数的 Web 方法:
<WebMethod>
Public Shared Function GetData() As String
Return DateTime.Now.ToString()
End Function
这是 javascript 代码:
<script type="text/javascript">
function CheckDouble() {
try {
alert("clicked")
$.ajax({
type: "POST",
url: "IssueTransSummary.aspx/GetData",
data: '',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
alert(response.d);
},
});
}
catch(err) {
alert(err.message);
}
}
</script>
使用上面的代码可以完美地工作。但我需要的是将数据传递给 webmethod。所以我将我的网络方法更新为:
<WebMethod>
Public Shared Function GetData(ByRef title As String) As String
Return DateTime.Now.ToString()
End Function
和 javascript 代码
<script type="text/javascript">
function CheckDouble() {
try {
alert("clicked")
$.ajax({
type: "POST",
url: "IssueTransSummary.aspx/GetData",
data: JSON.stringify({ title: 'MP3'}),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
alert(response.d);
},
});
}
catch(err) {
alert(err.message);
}
}
</script>
我收到错误 500 内部服务器错误。
我已经尝试了我在网上找到的解决方案,但它对我不起作用。
我什至添加了此代码,但仍然不起作用
<ScriptMethod(UseHttpGet:=True, ResponseFormat:=ResponseFormat.Json)>
请帮帮我。谢谢
答:
0赞
wazz
8/20/2020
#1
看起来它应该有效。您可以尝试发送更简单的数据进行测试吗?尝试。data: 'MP3',
可能是,但我对 VB 不够熟悉。 也许?ByRef
ByVal
评论
1赞
Audrey Wilrose
8/20/2020
o万维网。我没有注意到这个简单的错误。我把它改成 Byval 并且它奏效了。谢谢
评论