我正在使用以下 JavaScript设置select2
$j("#" + name).select2({
placeholder: "",
width:"300px",
minimumInputLength: 3,
ajax: {
url: "/MyService.asmx/ServiceMethod",
dataType: 'json',
data: function (term) {
return {
q: term // search term
};
},
results: function (data) {
alert('results');
return {results: data};
},
success: function() {
alert('success');
},
error: function () {
alert('error');
},
},
});
我调用的方法如下:
<WebMethod(enableSession:=True)>
<ScriptMethod(ResponseFormat:=ResponseFormat.Json)>
Public Function ServiceMethod(q as String) As String
Dim temp As String = "[{'id':'35','text':'Drew'}]"
Return temp
End Function
我也有<ScriptService()>
绕班。enableSession 就在那里,因为最终我将在需要它的服务中运行大量逻辑,但现在我只是试图用 JSON 返回一个简单的字符串。
我在 web 服务中放置了一个断点,我知道它正在被调用。我知道它正在返回 JSON。我也知道 select2 在 JSON 返回中需要“id”和“text”
我的问题如下:在我输入 3 个字符后,数据函数调用(我在其中放置了一个警报),webservice 断点被命中,但之后没有任何结果、成功或错误事件触发。select2 只是旋转,什么都没有发生。控制台中没有输入任何 javascript 错误,我什至不知道在哪里查找关于为什么 ajax 不处理服务返回值的信息。
任何人都可以指出我至少去哪里看看为什么这不起作用?