这似乎是一个黑洞:经过一个小时的搜索jQuery UI网站,Stack Overflow和谷歌搜索,我还没有找到如何编写AutoComplete 服务器端的最基本信息.
什么参数传递给服务器以及JSON响应应该是什么样的?
我一定错过了什么,因为其他人怎么学会这样做?站点似乎只讨论客户端JavaScript代码,而不是协议或服务器端示例.
我需要足够让最简单的远程示例工作.
我有一个简单的页面。加载时,它调用 Web 服务,然后出现以下错误:
an attempt was made to call the method using a GET request, which is not allowed
Run Code Online (Sandbox Code Playgroud)
我的JS代码:
function getTutors() {
var url = '<%= ResolveUrl("~/services/tutorservice.asmx/gettutors") %>';
$.ajax({
type: "GET",
data: "{'data':'" + 'test-data' + "'}",
url: url,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (d) {
alert('succes');
return d;
},
error: function () {
alert('fejl');
}
});
}
$(document).ready(function () {
var tutors = getTutors();
var locations = [];
}
Run Code Online (Sandbox Code Playgroud)
我的网络服务:
[ScriptService]
public class tutorservice : System.Web.Services.WebService …Run Code Online (Sandbox Code Playgroud) 我的要求是当用户在输入字段之一输入一些字符(至少 3 个)时显示几个选项,这些字符也可能会动态添加。
由于数据很大,我无法在页面加载时加载数据。有一个 ajax 调用来获取过滤后的数据。
我遇到的问题是Expected identifier第 2 行页面加载时出错。那么,您能告诉我下面的代码有什么问题吗?
$(document).on('keydown.autocomplete', 'input.searchInput', function() {
source: function (request, response) { // Line # 2
var id = this.element[0].id;
var val = $("#"+id).val();
$.ajax({
type : 'Get',
url: 'getNames.html?name=' + val,
success: function(data) {
var id = $(this).attr('id');
$(this).removeClass('ui-autocomplete-loading');
response(data);
},error: function(data) {
$('#'+id).removeClass('ui-autocomplete-loading');
}
});
},
minLength: 3
});
Run Code Online (Sandbox Code Playgroud) jquery ×3
ajax ×2
jquery-ui ×2
.net-4.5 ×1
asmx ×1
asp.net ×1
javascript ×1
json ×1
web-services ×1