[英]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.