我可以使用ASP Classic构建REST应用程序吗?
发布时间:2020-12-16 03:31:26 所属栏目:asp.Net 来源:网络整理
导读:如果我有ASP Classic,是否可以构建一个 REST风格的应用程序编程接口(API),接受输入并以 JSON形式返回输出,甚至进行内容协商并以JSON或XML或其他格式传递响应? 作为一个例子,ASP-Classic可以用作jQuery自动完成小部件的后盾,该小部件发送GET请求并期望JSON响
如果我有ASP Classic,是否可以构建一个
REST风格的应用程序编程接口(API),接受输入并以 JSON形式返回输出,甚至进行内容协商并以JSON或XML或其他格式传递响应? 作为一个例子,ASP-Classic可以用作jQuery自动完成小部件的后盾,该小部件发送GET请求并期望JSON响应吗? 怎么样? 解决方法
当然,为什么不呢?
首先,您可以在Javascript中编写ASP-classic.而且,这意味着您可以利用许多Javascript扩展库.特别是,在构建REST应用程序时,您可能希望使用json2.js. 这是一个使用ASP-classic的REST程序,使用参数化查询查询SQLExpress数据库,并依赖json2.js进行编码,返回JSON编码的数组. <%@ language="Javascript" %> <script language="javascript" runat="server" src='json2.js'></script> <script language="javascript" runat="server"> if (typeof String.prototype.trim != 'function') { String.prototype.trim = function() { return this.replace(/^ss*/,'').replace(/ss*$/,''); }; } (function() { // http://msdn.microsoft.com/en-us/library/windows/desktop/ms675318(v=vs.85).aspx // http://msdn.microsoft.com/en-us/library/windows/desktop/ms678273(v=vs.85).aspx // http://msdn.microsoft.com/en-us/library/windows/desktop/ms675946(v=vs.85).aspx ado = { // data types variant : 12,char : 129,varChar : 200,single : 4,// DBTYPE_R4 date : 133,// DBTYPE_DBDATE time : 134,// DBTYPE_DBTIME // parameter directions input : 1,output : 2,inputOutput : 3,returnVal : 4,directionUnknown : 0,// command types cmdUnspecified : -1,cmdText : 1,cmdTable : 2,cmdStoredProc : 4,cmdUnknown : 8,cmdFile : 256,cmdTableDirect : 512 }; queryDb = function(like) { var rs,result = [],cmd,query,param,conn = new ActiveXObject("ADODB.Connection"); conn.ConnectionString = 'Provider=SQLOLEDB.1;' + 'Integrated Security=SSPI;' + 'Persist Security Info=False;' + 'Initial Catalog=AVWKS2008LT;' + 'Data Source=.SQLEXPRESS'; conn.Open(); cmd = new ActiveXObject("ADODB.Command"); cmd.ActiveConnection = conn; cmd.CommandType = ado.cmdText; query = 'SELECT distinct Lastname as lname ' + 'FROM SalesLT.Customer '; if (like !== null) { query += 'WHERE LastName like ? '; like += '%'; param = cmd.CreateParameter("",ado.varChar,ado.input,like.length,like); cmd.Parameters.Append(param); } query += 'ORDER BY lname '; cmd.CommandText = query; rs = cmd.Execute(); // typeof ADODB.Recordset while(!rs.EOF) { // retrieve the 0th field result.push(rs.Fields(0).Value.trim()); rs.MoveNext(); } conn.Close(); return result; }; }()); try { // jquery UI autocomplete requires the search term to be 'term' var t = Request.QueryString('term') + '',token = (t == 'undefined') ? null:t,r = queryDb(token); Response.Write(JSON.stringify(r)); } catch(e) { var error = {error: e.message}; Response.Write(JSON.stringify(error)); } </script> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 如何使用javascript生成假回发?
- asp.net-mvc – 在MVC4中使用资源进行本地化
- asp.net-mvc – 从视图到控制器POST信用卡数据是否安全?
- asp.net-mvc – 我如何moq aingleingleResult?我是不是该?
- asp.net-mvc – MVC DropDownList SelectedValue不正确显示
- 从ASP.NET中的标准程序集覆盖资源
- asp.net-mvc-4 – DataAnnotation的必需属性
- asp.net mvc errorhandler没有显示自定义错误页面
- asp.net – 异步操作方法和IO完成端口
- asp.net-mvc – ASP.net MVC数据注释DateTime默认值