我尴尬的问题很简单:
为什么以下代码有效:
(require 'request)
(defun geocoder ()
(request
"http://rpc.geocoder.us/service/csv"
;;; **Hardcoded parameter!**
:params '(("address" . "1600 Pennsylvania Ave, Washington DC"))
:parser 'buffer-string
:success (function*
(lambda (&key data &allow-other-keys)
(when data
(with-current-buffer (get-buffer-create "*request demo*")
(erase-buffer)
(insert data)
(pop-to-buffer (current-buffer))))))
:error
(function* (lambda (&key error-thrown &allow-other-keys&rest _)
(message "Got error: %S" error-thrown)))
))
(geocoder)
虽然这不是吗?
(require 'request)
(defun geocoder (address) ;; adding a parameter!
(request
"http://rpc.geocoder.us/service/csv"
:params '(("address" . address))
:parser 'buffer-string
:success (function*
(lambda (&key data &allow-other-keys)
(when data
(with-current-buffer (get-buffer-create "*request demo*")
(erase-buffer)
(insert data)
(pop-to-buffer (current-buffer))))))
:error
(function* (lambda (&key error-thrown &allow-other-keys&rest _)
(message "Got error: %S" error-thrown)))
))
;;; Now with parameter!
(geocoder "1600 Pennsylvania Ave, Washington DC")
我应该如何发送参数请求?