我設置了一個select2與以下JavaScript選擇二Ajax是正確調用web服務,但後來
$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個字符後,數據函數調用(我在其中放入一個警報),web服務斷點被擊中,但沒有任何結果,成功或錯誤事件隨後發生。 select2只是旋轉而什麼也沒有發生。在控制檯中沒有輸入任何javascript錯誤,而且即使在何處查找有關ajax未處理服務返回值的信息,我也不知所措。
任何人都可以指出我的方向至少在哪裏看看爲什麼這不起作用?