我想使用经典的ASP脚本返回JSON对象(这是AJAX请求的一部分)。
如果我仅以以下形式发送回复:
response.write("{ query:'Li', suggestions:['Liberia','Libyan Arab Jamahiriya','Liechtenstein','Lithuania'], data:['LR','LY','LI','LT'] }")
这将工作,还是我实际上需要JSON库?
编辑: 我正在尝试在http://www.devbridge.com/projects/autocomplete/jquery/#howto上获取自动完成插件。
javascript:
$(document).ready(function() { var a = $('#txtValue').autocomplete({ serviceUrl:'script.asp', minChars:2, maxHeight:400, width:300, zIndex: 9999, deferRequestBy: 0, //miliseconds onSelect: function(value, data){ alert('You selected: ' + value + ', ' + data); }, });
ASP:
<% response.ContentType = "application/json" response.write("{ query:'Li', suggestions:['Liberia','Libyan Arab Jamahiriya','Liechtenstein','Lithuania'], data:['LR','LY','LI','LT'] }") %>
自动完成功能不起作用。如果我使用像查找这样的本地查找数组,则可以使用它:[‘January’,’February’,’March’,’April’,’May’]
但是ajax出了点问题,表示它无法正确返回列表。
在客户端似乎是解析错误。
我不认为这会有所作为,但是看起来如果您引用所有内容(包括属性名称),它似乎都可以工作。并使用双引号而不是单引号-这显然有所作为。
请记住将双引号加倍(至少我认为这是您在VBScript中这样做的方式-很长时间了)。
所以:
<% Response.ContentType = "application/json" Response.Write("{ ""query"":""Li"", ""suggestions"":[""Liberia"",""Libyan Arab Jamahiriya"",""Liechtenstein"",""Lithuania""], ""data"":[""LR"",""LY"",""LI"",""LT""] }") %>