2009-07-03 103 views
0

我试图通过在http://www.asp.net/learn/videos/video-7026.aspx处观看视频来创建此视频,Joe Stagner创建了一个简单的Web服务,该服务使用Ajax调用。在Button1_onclick()处理程序中,javascript无法解析对象“WebService1”。你看到有什么不对吗?Javascript无法识别网络服务

确切的错误是“'WebService1'未定义”在Button1_onclick()中。

注:我拿出头部和身体标签,以便帖子显示正常。他们都在我的档案中。

<script language="javascript" type="text/javascript"> 
    function Button1_onclick() { 
     ret = WebService1.HelloWorld(document.getElementById("Text1").value, OnComplete, OnError); 
    } 

    function OnError() { 
     alert("An error occurred"); 
    } 
    function OnComplete(arg) { 
     document.getElementById("CallResponse").innerHTML = arg; 
    } 
</script> 

<asp:ScriptManager ID="ScriptManager1" runat="server"> 
<Services> 
    <asp:ServiceReference Path="~/WebService1.asmx" /> 
</Services> 
</asp:ScriptManager> 
<div> 
    <input id="Text1" type="text" /><br /><br /> 
    <input id="Button1" type="button" value="Click to test Ajax" onclick="return Button1_onclick()" /><br /> 
    <div id="CallResponse"> 
    </div> 
</div> 
</form> 

这是Web服务。是的,我没有评论我应该设定的路线。

 

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.Services; 

namespace AjaxTest 
{ 
    /// 
    /// Summary description for WebService1 
    /// 
    [WebService(Namespace = "http://tempuri.org/")] 
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 
    [System.ComponentModel.ToolboxItem(false)] 
    // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
    [System.Web.Script.Services.ScriptService] 
    public class WebService1 : System.Web.Services.WebService 
    { 

     [WebMethod] 
     public string HelloWorld(string s) 
     { 
      return "Hello " + s; 
     } 
    } 
} 

回答

4

它应该寻找AjaxTest.WebService1作为类。它适用于完全合格的命名空间

+0

谢谢!堆栈溢出的人真棒。 – BrianK 2009-07-03 03:20:50