无法从Javascript访问web方法
Unable to access a webmethod from Javascript
我正在创建一个简单的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为空。我不知道我漏掉了什么,有什么帮助吗?
你需要定义一个回调函数,在收到web方法的响应时调用:
$(document).ready(
function test() {
PageMethods.MyMethod(myMethodCallBackSuccess, myMethodCallBackFailed);
})
function myMethodCallBackSuccess(response) {
alert(response);
}
function myMethodCallBackFailed(error) {
alert(error.get_message());
}
你也可以向方法传递参数,但是这些参数必须总是出现在成功回调和失败回调之前。
注意:您不需要包含失败的回调,但如果需要,它是可用的。
相关文章:
- PageMethods调用使用1参数成功,但在2上失败(未知web方法)
- Web方法只有在标记为静态时才有效,否则就不起作用;t
- Ajax 对 Web 方法 asp.net 调用不会触发
- 如何在 asp.net 中更改文本框的事件时调用Web方法
- 如何从外部项目调用 Web 方法
- 无法从母版页调用代码页中的 Web 方法
- 警报消息在 Ajax Web 方法中无法正常工作
- Web方法未在FlexiGrid中触发
- 调用服务器端从 JavaScript 继承了 C# Web 方法
- 使用 jQuery.ajax() 访问 c# WebMethod 会得到“未知的 Web 方法”
- asmx中Web方法的Ajax方法未启动
- asp.net web方法中ajax回调后,对象属性为null
- AJAX调用C#Web方法以返回列表
- jsTree-使用AJAX/C#Web方法动态填充树
- aspx页面中的Web方法未执行
- 使用JavaScript中的异步Web方法返回值触发/阻止页面事件
- javascript.net Web方法未执行
- jquery AJAX对web方法的调用未运行错误函数
- 如何将参数从原型传递到web方法
- Web方法不会调用,但不会出错