在ASP中调用WebServices失败. NET中的Javascript
本文关键字:NET 中的 Javascript 失败 WebServices ASP 调用 | 更新日期: 2023-09-27 18:17:16
调用web服务失败。我错过了什么?@@
我正在尝试遵循这里的说明:如何调用ASP。. Net Web Service in javascript
下面是我的代码,但是不能工作。
这是我的webservice代码:using System;
using System.Collections.Generic;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Web.Script.Services;
namespace Library
{
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
[System.Web.Script.Services.ScriptService()]
public class ReleaseSessionObject : System.Web.Services.WebService
{
[WebMethod]
public string HelloWord()
{
return "Hellow Word!";
}
}
}
,这是ASP。. NET页面代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm6.aspx.cs" Inherits="Library.WebForm6" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<script src="ReleaseSessionObject.asmx" type="text/javascript"></script>
<script type="text/javascript">
function HelloWorld() {
try {
var a = Library.ReleaseSessionObject.HelloWorld();
alert(a);
}
catch (err) {
alert(err.Message);
}
};
</script>
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Services>
<asp:ServiceReference Path="~/ReleaseSessionObject.asmx" />
</Services>
</asp:ScriptManager>
<input type="button" onclick="HelloWorld();" value="Click This" />
</div>
</form>
</body>
</html>
ASP。. NET页和服务文件位于同一文件夹。
但是当我点击按钮时。undefined
您是否在您的项目中添加了web引用?通过这样做,将创建代理,然后您可以开始使用web服务方法。有一个教程,你可能想看看。
也可以查看MSDN上的主题
试试async:
function HelloWorld() {
Library.ReleaseSessionObject.HelloWorld(OnCompleted);
}
function OnCompleted(data) {
alert(data);
}
您在web服务asmx文件中的方法显示为HelloWord
,但在标记中显示为HelloWorld
。它说未定义,因为由于拼写错误而无法找到该方法。
如果不成功,请尝试以下示例:直接从javascript调用ASMX web服务