ASP.Net - 使用 jQuery 的 Ajax 自动完成
嗨
我已经尝试在我的网站中实现自动完成功能 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>
Web 服务代码
[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 服务代码中放置了一个断点,但没有命中!您认为我调用网络服务的方式有问题吗?
Hi
I have been trying to implement auto complete in my site from 2 hrs and still couldn't get thru.
Here's my code.
<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>
Web service code
[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 method returns simple string in response with ":" as delimiter.
Could someone point me in right direction!
Update: I put a break point in Web service code but it was not hit! Do you think there is problem with the way I am calling the web service!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
json 字符串应该像这样
{"key":"value","key1":"value1"}
并使用
json string should be like this
{"key":"value","key1":"value1"}
and use
您正在使用 dataType:“json”,这意味着 jquery 将尝试将结果评估为 JSON,如果您使用纯文本作为响应,请使用 dataType:“text”。
You're using the dataType: "json" which means jquery will try to evaluate the result as JSON, if you are using plain text for the response use dataType: "text".