小编典典

如何在经典ASP中返回JSON对象

ajax

我想使用经典的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出了点问题,表示它无法正确返回列表。


阅读 800

收藏
2020-07-26

共1个答案

小编典典

在客户端似乎是解析错误。

我不认为这会有所作为,但是看起来如果您引用所有内容(包括属性名称),它似乎都可以工作。并使用双引号而不是单引号-这显然有所作为。

请记住将双引号加倍(至少我认为这是您在VBScript中这样做的方式-很长时间了)。

所以:

<%
    Response.ContentType = "application/json"
    Response.Write("{ ""query"":""Li"", ""suggestions"":[""Liberia"",""Libyan Arab Jamahiriya"",""Liechtenstein"",""Lithuania""], ""data"":[""LR"",""LY"",""LI"",""LT""] }")
%>
2020-07-26