用newLisp开发网站六 REST API返回JSON串

时间:2014-01-30 02:49:56   收藏:0   阅读:541

今天用newlisp返回JSON的时候,发现jQuery 的ajax的done始终不能工作,用always就可以。首先排除了jQuery 2.1.0的bug,然后就检查了newlisp返回的HTTP response,果然又问题。这里记录一下:

1. 要设置HTTP Response的一些信息

2. dragonfly内置了一个json库,可以将list转换成json串。

下面看个例子:

(set ‘result
     ‘(("status" 0)))

;; create new code copy on local filesystem
(define (Resource.Cc:create)
  (set ‘cpp-file-path (string SOURCE_LOCATION "/" ($POST "file_name")))
  (set ‘cpp-file-code (string SOURCE_LOCATION "/" ($POST "code")))
  (if (write-file cpp-file-path cpp-file-code)
      (begin
       (Response:content-type Response:json-type)
       (Response:status 200)
       (print (Json:lisp->json result)))
    )
)

注意

1. begin语句里面两个Response上下文的函数分别设置了返回的数据类型和HTTP Status

2.用print将HTTP reponse内容返回出去

3. Json:lisp->json 帮助将内容编程json格式。json.lsp文件在下面的目录内:

dragonfly-framework/plugins-inactive/artfulcode/


上面的例子将返回一个json串,形如:

{"status": 0}

相关API文档参考:

http://dragonfly.neocortex.io/api

原文:http://blog.csdn.net/csfreebird/article/details/18868209

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!