2
我试图从javascript调用服务器端函数使用jQuery。jQuery调用VB.NET返回整个HTML
AJAX
function addAsset() {
$.ajax({
type: "GET",
contentType: "application/json; charset=utf-8",
url: "ServerMethods.aspx/AddAsset",
data: '{}',
dataType: "json",
success: function (response) {
alert(response);
},
error: function (jqXHR, textStatus, errorThrown) {
alert(textStatus);
alert(errorThrown);
}
});
}
ServerMethods.aspx.vb
Public Class ServerMethods
Inherits System.Web.UI.Page
<System.Web.Services.WebMethod()> _
Public Shared Function AddAsset() As String
Return "Hello"
End Function
End Class
ServerMethods.aspx
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="ServerMethods.aspx.vb" Inherits="AssetManager.ServerMethods" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
</html>
addAsset()一个按钮被点击时被调用。当我尝试将dataType更改为文本时,整个HTML代码将返回给ServerMethods。如果dataType设置为json,则会引发错误“SyntaxError:意外的令牌<”。我认为这是json试图解析HTML代码。我不想试图获得json响应,我只是想要一些响应,在这种情况下,我只是想返回“你好”。
任何想法?
相同的分析错误。可能它与我的ServerMethods.aspx页面有关(在原始邮件中添加它)? – dagonal
@dagonal您是否先序列化结果?你的成功处理程序中'response'的价值是什么? –
我使用的是旧版本的.NET,所以我没有参考JavaScriptSerializer。现在,我已将它升级到.NET 4.0,我的Web应用程序是通过疯狂的错误=/ – dagonal