[英]Call C# function (WebMethod) from Javascript (JQuery)
我有这样的功能
[WebMethod]
public static string Hello()
{
return "hello";
}
我想在我的aspx页面中调用它。 所以这就是我正在尝试的
function sendData(){
$.post("Default.aspx/Hello", function(data){
alert(data);
}).fail(function() {
alert( "error" );
});
}
现在校准成功,不会返回错误,但是不会返回我想要的。 而不是返回字符串“ hello”,而是给了我该页面的html字符串
您需要使用data.d
:
function sendData(){
$.post("Default.aspx/Hello", function(data){
alert(data.d);
}).fail(function() {
alert( "error" );
});
}
Dave Ward文章为何需要使用.d
您还需要确保已添加脚本管理器和EnablePageMethods,即
<asp:ScriptManager runat="server" EnablePageMethods="true">
</asp:ScriptManager>
我认为您应该在js方法中使用$ .ajax而不是$ .post,因为如果没有另外指定,则GET http方法是控制器中默认使用的方法。
我觉得你很亲密。 在我的项目中,我正在使用$ .ajax。 我已经提供了项目中的代码示例(效果很好),希望对您有所帮助。
C#
[WebMethod]
public static List<ConnectionStatusInfo> GetConnectionStatus()
{
.....
}
JavaScript的
$.ajax({ url: "ConnectionStatus.aspx/GetConnectionStatus",
dataType: "json",
type: 'POST',
data: null,
contentType: "application/json; charset=utf-8",
success: function (data) {
},
error: function (d) {
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.