JQuery自动完成不能与asp.net webservice一起使用

时间:2011-03-24 16:37:36

标签: jquery asp.net web-services jquery-ui

我有这段代码:

$('#' + textboxID).autocomplete({ delay: delay, source: ["cats", "dogs"] });

工作正常。

我想使用网络服务:

$('#' + textboxID).autocomplete({ delay: delay, source: webserviceURL});

这不起作用。我的网络服务URL是/blah/blah.asmx/myMethod

网络服务定义是:

[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public List<string> myMethod(string term)
{
       // Logic here, return list of strings
}

永远不会调用该方法。谁能指出我正确的方向?我在同一个.asmx中有其他web服务,可以与其他控件一起使用(其他控件使用$ .ajax来调用它们)。

编辑:越来越近了,我现在得到一个500错误,表示对于意外以“/ myMethod”结尾的URL无法识别请求格式。

我认为这不是我的网址正确对待......

2 个答案:

答案 0 :(得分:1)

这是一个SO线程,其解决方案是将其与Asp.net webservice一起使用:

jQuery AutoComplete (jQuery UI 1.8rc3) with ASP.NET web service

答案 1 :(得分:0)

解决了它,关键在于这个问题:

How do I set JQuery Autocomplete to POST instead of GET?

我将$.ajaxSetup( { type: "post" } );放在我的.autocomplete行之前,它解决了它。最烦人的是他们没有把它作为一种选择!