在jQuery中使用Load函数时,无法使Web服务url正常工作

本文关键字:url 服务 常工作 工作 Web jQuery Load 函数 | 更新日期: 2023-09-27 18:22:37

我就是无法让它工作!每当我点击按钮时,什么都不会发生。用.text("hello world")替换了.load方法,它很有效,所以我的问题似乎在该方法的url中。我到处寻找答案,但我想我一定忽略了一些非常明显的东西,因为我没有在任何地方看到同样的东西。请帮帮它让我发疯!!!

客户端:

    <script src="Scripts/jQuery-1.7.1.js" type="text/javascript"></script>
    <script type="text/javascript">
    // Cannot get this to work
        $(function () {
            $('#buttonSays').click(function () {
                $('div').load('AjaxServices.asmx/HelloWorld');
            });
        });
    </script>
</head>
<body>
    <h1>Hello World from Web Service</h1>
    <button type="button" id="buttonSays">Get Info</button>
    <p>The site says...</p>
    <div id="divSays1"></div>
    <div id="divSays2"></div>
    <div id="divSays3"></div>
</body>

服务器端:

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.Web.Script.Services.ScriptService]
public class AjaxServices : System.Web.Services.WebService
{
private static int count = 0;
[WebMethod]
public string HelloWorld()
{
    count++;
    return "Hello World #" + count.ToString();
}

在jQuery中使用Load函数时,无法使Web服务url正常工作

虽然这可能不是问题的原因,但阻止.Net web服务使用jQuery的一个常见问题是默认情况下不允许GETPOST请求。请确保使用以下代码在web.config中启用了适当的方法:

<webServices>
    <protocols>
        <add name="HttpGet"/>
        <add name="HttpPost"/>
    </protocols>
</webServices>

我相信你也可以指定在WebMethod级别允许哪些方法:

[ScriptMethod(UseHttpGet = true)]
public string HelloWorld()
{
    count++;
    return "Hello World #" + count.ToString();
}