在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();
}
虽然这可能不是问题的原因,但阻止.Net web服务使用jQuery的一个常见问题是默认情况下不允许GET
和POST
请求。请确保使用以下代码在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();
}