我有这样的功能
[WebMethod]
public static string Hello()
{
return "hello";
}
我想在我的aspx页面中调用它。所以这就是我想要的
function sendData(){
$.post("Default.aspx/Hello", function(data){
alert(data);
}).fail(function() {
alert( "error" );
});
}
现在正在调用此功能是成功的并且不会返回错误,但它并没有返回我想要的内容。而不是返回字符串"你好"它给了我一个页面的html字符串
答案 0 :(得分:1)
您需要使用data.d
:
function sendData(){
$.post("Default.aspx/Hello", function(data){
alert(data.d);
}).fail(function() {
alert( "error" );
});
}
Dave Ward article了解您需要使用.d
您还需要确保添加了脚本管理器和EnablePageMethods,即
<asp:ScriptManager runat="server" EnablePageMethods="true">
</asp:ScriptManager>
答案 1 :(得分:0)
我认为你应该在你的js方法中使用$ .ajax而不是$ .post,因为如果没有另外指定,GET http方法是控制器中使用的默认值。
答案 2 :(得分:0)
我认为你很亲密。在我的项目中,我使用$ .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) {
}
});