【发布时间】:2014-08-26 01:51:19
【问题描述】:
我正在尝试通过从 ASP.Net Web 服务(网络表单)中提取信息来实现 Select2 控件。我在我的服务器代码中放置了一个断点,该方法被调用并返回信息,但 select2 控件从不显示信息,并且报告了 no 控制台错误(只是服务被击中并返回)。以下是所有信息:
C# Webservice(ListVar是一个有Value和Text两个字符串属性的类):
public List<ListVar> SearchUsers(string searchText, string additionalFilter)
{
return WebUserManager.SearchWebUsers(searchText, Boolean.Parse(additionalFilter));
}
JS
$(document).ready(function () {
$('#O_M_aclUser_hfMain').select2({
ajax: {
cache: true,
dataType: "json",
type: "POST",
url: 'http://localhost:54780/Services/Utilities.asmx/SearchUsers',
data: function (term, page) {
return {
searchText: term,
additionalFilter: $('#O_M_aclUser_hfAddFil').val()
};
},
results: function (data, page) {
alert('test1');
return { results: data.d };
}
},
formatResult: FormatResults,
formatSelection: FormatResults,
dropdownCssClass: 'autoCompleteSelect2',
escapeMarkup: function (m) { return m; }
});
});
function FormatResults(result) {
var markup = '<div class="AutoCompleteResult" entityValue="' + result.Value + '">';
markup += result.Text;
markup += '</div>';
return markup;
}
回应
<?xml version="1.0" encoding="utf-8"?>
<ArrayOfListVar xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.org/">
<ListVar>
<Value>1</Value>
<Text>Miles McGehee</Text>
</ListVar>
<ListVar>
<Value>777</Value>
<Text>Miles McGehee</Text>
</ListVar>
</ArrayOfListVar>
为什么我的 JS 结果 ajax 方法没有被调用? (我从来没有看到警报消息) 为什么不显示信息
【问题讨论】:
-
您的响应是 xml 而不是 json。
-
它应该是任何特定的 json 格式吗?
-
没有特定的json格式。这取决于您的方法返回什么。在你的情况下,它可能是
{"ArrayOfListVar":[{"Value":"1","Text":"Miles McGehee"},{"Value":"777","Text":"Miles McGehee"}]}
标签: c# jquery asp.net jquery-select2