如何通过ajax传递参数到vb.net中定义的函数
本文关键字:net 定义 函数 vb ajax 何通过 参数 | 更新日期: 2023-09-27 17:52:49
我需要从ajx调用传递参数到vb.net中定义的函数。
函数定义为:
<System.Web.Services.WebMethod()> _
Public Shared Function wwww(ByVal id As String) As String
Return "jhgfjhf"
End Function
Ajax调用如下:
var l = window.location;
var base_url = l.protocol + "//" + l.host;
$(".pagen ").click(function () {
var num = $(this).attr('id');
alert(num);
$.ajax({
type: "POST",
url: base_url + '/Album%20Viewer%20web/albumlist.aspx/wwww',
data: { id:num },
dataType: 'json',
async: false,
cache: false,
contentType: "application/json",
success: function (response) {
console.log(response);
},
error: function (jqXHR, textStatus, errorThrown) {
if (typeof (console) != 'undefined') {
console.log(errorThrown);
}
else { alert("something went wrong"); }
}
});
});
在使用此代码时导致内部服务器错误。如果我删除参数section (used data:{}和Public Shared Function www() As String),那么它将正常工作。那么我怎么传递参数呢?
为了允许从脚本调用,您需要将ScriptService
属性添加到WebService
,然后(返回JSON)将ScriptMethod
属性添加到WebMethod
:
<ScriptService()>
Public Class WebService1
Inherits System.Web.Services.WebService
<WebMethod()> _
<ScriptMethod(ResponseFormat:=ResponseFormat.Json)>
Public Function wwww(ByVal id As String) As String
Return id & "AAA"
End Function
End Class
然后你需要稍微修改一下你如何通过javascript传递数据,像这样:
data: "{ 'id':'" + num +"'}", // "{'id':'something'}"
Value将以JSON格式返回,因此要读取该值,您需要:
var returnedValue = response.d // 'd' because Microsoft decided so