2009-07-03 125 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