运行时错误:预期的对象

时间:2011-03-30 14:16:57

标签: c# javascript jquery jquery-ui

我有一个jQuery UI,它正在执行简单的自动完成功能。自动填充功能即将通过Web服务进行。

这是我的jQuery示例:

<script type="text/javascript">
$(document).ready(function () {
    $('[id$="tbSearch"]').autocomplete({
        url: '/WebService/SearchLookUp.asmx/ReturnEntity',
        width: 300,
        max: 10,
        delay: 100,
        cacheLength: 1,
        scroll: false,
        highlight: false
    });
});

这是我的网络服务示例:

 public class SearchLookUp : System.Web.Services.WebService
{
    [WebMethod]
    public string []ReturnEntity(string prefixText)
    {
        using (TestDataContext search = new TestDataContext())
        {
            var tr = from p in search.Entities
                     where p.Name.StartsWith(prefixText)
                     select p.Name;
            return tr.ToArray<string>();
        }

    }

}

当我在浏览器中运行此Web服务并传递参数时:'ST'我得到了这些结果:

 <?xml version="1.0" encoding="utf-8" ?> 
- <ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.org/">
  <string>Steve</string> 
  <string>Star</string> 
  <string>Steve D</string> 
  <string>Star Route</string> 
  <string>Staffing</string> 
  <string>Strategic</string> 
  <string>Staci</string> 
  <string>Stevens</string> 
  <string>Starr</string> 
  </ArrayOfString>

现在的问题是,一旦我在文本框(tbSearch)上输入任何内容,我就会收到MS jScript错误:预期的对象

  

的jQuery-UI-1.8.11.custom.min.js

在此处:

{this.pending++;this.element.addClass("ui-autocomplete-loading");this.source({term:a},this.response)}

1 个答案:

答案 0 :(得分:0)

您可能需要检查自动完成对象的语法

基于此TextBox AutoComplete with ASP.NET and jQuery UI

构建

source:方法来调用ajax,看起来您还需要指定要发送到Web服务的data: