Web service not found in javascript

Last post 07-03-2009 8:13 AM by mrmercury. 1 replies.

Sort Posts:

  • Web service not found in javascript

    07-02-2009, 10:43 PM
    • Member
      107 point Member
    • BrianK9
    • Member since 08-22-2007, 3:00 AM
    • Posts 60

    Hi. I tried to create this by following the video at http://www.asp.net/learn/videos/video-7026.aspx where Joe Stagner created a simple web service that is called by Ajax. In the Button1_onclick() handler, javascript can't resolve the object "WebService1". Please have a look and see if there is anything wrong.

    The exact error is "'WebService1' is undefined" in Button1_onclick().

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="AjaxTest._Default" %>
    
    <!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>
    
        <script language="javascript" type="text/javascript">
    // <!CDATA[
    
            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>
    </head>
    <body>
        <form id="form1" runat="server">
        <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>
    </body>
    </html>


     

    Here's the web service. Yes, I un-commented the line I was supposed to.

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

    namespace AjaxTest
    {
        /// <summary>
        /// Summary description for WebService1
        /// </summary>
        [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;
            }
        }
    }


     

     

    Filed under:
  • Re: Web service not found in javascript

    07-03-2009, 8:13 AM
    Answer
    • Contributor
      5,082 point Contributor
    • mrmercury
    • Member since 04-04-2006, 6:26 PM
    • Mexico City, Mexico
    • Posts 739

    You need to use the WebMethod full name, since you have a namespace it should be: AjaxTest.WebService1.HelloWorld($get(“Text1”).value, OnComplete, OnError);

    Note $get(“Text1”) is the same as document.getElementById(“Text1”)

    If this post helped you please remember to set it as Answer so it can help others.
Page 1 of 1 (2 items)