さて、JQuery のオートコンプリート ウィジェットに頭がおかしくなりました。
ウィジェットをロードするさまざまな方法を試しました。私は現在、次のものを取得しています:
エラー: jQuery15105511000803127266_1353087819681 が呼び出されませんでした - parsererror
値が文字列なのか実際のオブジェクトなSystem.string[]
のかはわかりませんが、 (firebug からの) Response 値は次のように見えます。
私はただ愚かなだけですか、それとも何かが足りないのですか (最後の質問に親切に答えてください...)?System.string[]
system.string[]
私のJavaScriptは:
$("#clientName").autocomplete({
source: function (request, response) {
$.ajax({
url: "/supplier/apSupplierSearch/",
data: { searchAPName: clientName.value },
dataType: "json",
type: "POST",
success: function (data) {
//response(data);
response($.map(data, function (item) {
return {
label: item.Name,
value: item.Name
}
}))
}
}); // ajax
}, // function [{
scroll: true,
scrollHeight: 600,
minLength: 4
});
私の Web メソッドは次のとおりです。
[WebMethod]
public string[] apSupplierSearch(string searchAPName)
{
IList<int> selectedPropertyIDs = new List<int>();
string currentRole = UserServices.GetCurrentRole();
Property currentProperty = UserServices.GetCurrentPropety();
List<ApSupplier> suppliers = ApSupplierQueries.GetApSuppliers(searchAPName, selectedPropertyIDs, currentRole, currentProperty);
List<string> supplierList = new List<string>();
foreach (ApSupplier supplier in suppliers)
{
supplierList.Add(supplier.Name);
}
return supplierList.ToArray();
}