我试图落实DevBridge(Jquery的自动完成http://www.devbridge.com/projects/autocomplete/jquery/ )。 这使得AJAX调用,并在他们的榜样,它使用.NET Web服务。 我计划使用Web方法。
我创建了一个名为WebMethodTest.aspx页面并添加了一个简单的Web方法吧。 代码如下:
using System;
using System.Web.Services;
public partial class WebMethodsTest : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e) { }
[WebMethod]
public static string Test()
{
return "blah blah blah";
}
}
我没有加入到web.config中或进行任何其他设置。
通过调用浏览器和提琴手的URL( HTTP://myurl/WebMethodTest.aspx/Test )返回任何内容。
我假设我可以做一个正常的HTTP请求,它会返回字符串“等等等等等等”。
请注意:我已经做了广泛的搜索,看看是否有什么明显我已经错过了。 许多类似的问题在这里的SO和其他地方但许多围绕畸形的JSON等我想到了我的Web方法是不被调用。
所以:
- 正在一个正常的HTTP请求检查Web方法的一个有效方法是什么? 如果不是,怎么样?
- 可通过网页的方法,而不在客户端AJAX部分测试?
注:我看到很多的提到在ScriptManager的启用Web方法“解决方案”的 - 我想用ASP.NET AJAX(我不是),当这仅仅是相关的。
什么小头发,我已经离开是越来越薄。 所有的建议表示欢迎:)
TA
编辑我想我是反对(第三方一个没有返回一个JSON字符串)测试的URL可能已经超过一个Web方法以外的东西。 我认为我的应该返回到浏览器的响应太 - 这是一个坏的假设。
正如@mgnoonan指出, 是否有可能使用提琴手的请求生成器,使JSON的请求? ,具有与小提琴手测试正确的语法。
我使用的是:
POST http://xxx/WebMethods/WebMethodsTest.aspx/Test
和
User-Agent: Fiddler
Host: xxx
Content-Type: application/json; charset=utf-8
Content-Length: 0
这返回预期的字符串。 :)
PS是有标记为答案注释的方法吗?