在 VB.NET 中工作。这是我的 Web 服务 - 它是页面背后的 aspx 代码上的一种方法,尽管它在 asmx 中的行为相同:
<WebService(Namespace:="http://mycompany/WebServices/")> _
<WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
<ScriptService()> _
Partial Class AnAspxPageCodeBehind
Inherits System.Web.UI.Page
<WebMethod()> _
<ScriptMethod(ResponseFormat:=ResponseFormat.Json)> _
Public Shared Function GetSettings(param As String) As String
Dim something As AClass = DoSomethingWith(param)
Return New JavaScriptSerializer().Serialize(something)
End Function
我这样称呼它:
var dataToSend = '{"param":' + data + '}';
$.ajax({
url: 'AnAspxCodeBehind.aspx/GetSettings',
type: 'POST',
data: dataToSend,
contentType: "application/json; charset=utf-8",
datatype: 'json',
success: function (data) {
var ret = JSON.parse(JSON.parse(data).d);
}
});
注意到成功函数中的双 JSON.parse 调用了吗?当我之前(使用 C#)完成 Web 服务时,我只需要执行 var ret = JSON.parse(data.d)。
谁能告诉我这里发生了什么?
谢谢
大卫