我正在创建一个简单的Web方法来从Java脚本访问..但我无法
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(
function test() {
var x = PageMethods.MyMethod();
alert(x.toString());
})
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" EnablePartialRendering="true">
</asp:ScriptManager>
</div>
</form>
</body>
</html>
背后的代码看起来像这样
[WebMethod]
public static string MyMethod()
{
return "Hello";
}
变量x为空。我不知道Iam遗失了什么?有什么帮助吗?在此先感谢
答案 0 :(得分:3)
您需要定义一个回调函数,该函数在收到来自Web方法的响应时调用:
$(document).ready(
function test() {
PageMethods.MyMethod(myMethodCallBackSuccess, myMethodCallBackFailed);
})
function myMethodCallBackSuccess(response) {
alert(response);
}
function myMethodCallBackFailed(error) {
alert(error.get_message());
}
您也可以将参数传递给方法,但这些参数必须始终在成功和失败回调之前。
注意:您不需要包含失败的回叫,但如果需要,则可以使用。