Pertanyaan mudah saya yang memalukan adalah sebagai berikut:
Mengapa kode berikut berfungsi:
(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)
Sementara yang ini tidak?
(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")
Bagaimana saya harus mengirim parameter untuk meminta?
(list (cons "address" address))
olah Anda tidak ingin menggunakan backticks