您好
我一直试图在2小时内在我的网站上实现自动完成,但仍然无法通过
这是我的代码。
<script type="text/jscript">
$(document).ready(function() {
$.ajax({
type: "POST",
url: "/AjaxLoad.asmx/GetBrands",
dataType: "json",
data: "{}",
contentType: "application/json; charset=utf-8",
success: function(data) {
var datafromServer = data.d.split(":");
$("[id$='tbBrands']").autocomplete({
source: datafromServer
});
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert(textStatus);
}
});
}
</script>
<div id="ajaxbrands">
<input id="tbBrands" runat="server" />
</div>
网络服务代码
[WebMethod]
public string GetBrands()
{
StringBuilder sbStates = new StringBuilder();
sbStates.Append("Apple").Append(":");
sbStates.Append("Apex").Append(":");
sbStates.Append("Amex").Append(":");
sbStates.Append("Unity").Append(":");
sbStates.Append("Unex").Append(":");
sbStates.Append("Unitel");
return sbStates.ToString();
}
GetBrands方法返回简单字符串以“:”作为分隔符。 有人能指出我正确的方向!
更新:我在Web服务代码中设置了一个断点,但它没有被击中!您认为我调用Web服务的方式有问题吗?
答案 0 :(得分:0)
您正在使用dataType:“json”,这意味着如果您使用纯文本作为响应,则jquery将尝试将结果评估为JSON:“text”。
答案 1 :(得分:0)
json string应该是这样的
{"key":"value","key1":"value1"}
并使用
success: function(data) {
alert($.parseJSON(data));
var datafromServer = data.d.split(":");
$("[id$='tbBrands']").autocomplete({
source: datafromServer
});
},
for (var key in result) {
if (result.hasOwnProperty(key)) {
alert(result[key]);