0

私は新しくhunchentootで働いています。とにかく、このチュートリアルに従って、単純な todo リストを管理するための Web ページを作成しています。定義された deletetodo 関数に問題があります:

(defun deletetodo (todoid) (setf *todos* (remove (find todoid *todos* :test #'equal :key #'todocid) *todos*)))     

スライムから (deletetodo id) を実行すると、完全に機能し、メモが削除されます。

しかし、hunchertoot サーバーから実行すると、エラーは返されませんが、何も削除されません。これはdeletidページを呼び出すための私の関数です:

(define-url-fn (deleteid)
 (let ((id  (parameter "id")))
  (deletetodo id)
  (redirect "/menu.html")))  

次のページは deleteid.html?id=1 で呼び出されました。1 が例であるとします。リクエストを追跡してみましたが、完全に正しく、正しい ID が送信されましたが、deletetodo が機能しません! 何か案は?

4

1 に答える 1

0

私はばかげているように感じます:)それは単なるフォーマットの問題です。リクエストで送信されるID値は文字列形式ですが、必要なのはintです。したがって、 (read-from-string id) を使用すると問題が解決します。

于 2013-10-15T08:19:47.960 に答える