坑爹的一次JS调用WebService

新建一个项目叫做JS调用WebService,

新建一个WebService.asmx,

它自动生成的标签是<%@ WebService Language="C#" CodeBehind="WebService.asmx.cs" Class="JS调用WebService.WebService" %>

 

后台代码是

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

namespace JS调用WebService
{
    
/// <summary>
    
/// WebService 的摘要说明
    
/// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo 
= WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(
false)]
    
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
    [System.Web.Script.Services.ScriptService]
    
public class WebService : System.Web.Services.WebService
    {

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

 

但我前台js代码是

<script type="text/javascript">
        
function GetString() {
            WebService.HelloWorld(GetStringCallBack);
        }
        
function GetStringCallBack(result) {
            alert(result);
        }
    
</script>

 

结果老是提示'WebService' 未定义。

原因当然是你js调用WebService代码错误。修改如下:

<script type="text/javascript">
        
function GetString() {
            JS调用WebService.WebService.HelloWorld(GetStringCallBack);
        }
        
function GetStringCallBack(result) {
            alert(result);
        }
    
</script>

然后调用成功。

posted @ 2011-08-30 17:19  草珊瑚  阅读(381)  评论(2编辑  收藏  举报