2011-07-29 76 views
4

我試圖向我的Sinatra應用程序發出POST請求,但我遇到了問題。基本上我有一個輸入字段上提交做這樣的事在JS:使用jQuery發佈到Sinatra的問題

$.post("/", { info: "some_info"}); 

正在由西納特拉收到這樣的:

post '/' do 
    data = JSON.parse(request.body.read) 
end 

然而,在終端跟它:

JSON::ParserError - 706: unexpected token at '"info=some_info"': 

這意味着它越來越清楚地在服務器端的信息,但我不知道爲什麼它是引發此錯誤。我以前從未使用過AJAX。我不確定我是否可以獲得有關我需要的信息。

回答

4

當您發送請求時,它不會以JSON形式發送,而會以POST數據的形式發送。這意味着只需使用params對象即可在服務器端訪問它。

post '/' do 
    pp params # outputs {"info"=>"some_info"} in the console 
end 
+0

謝謝!我知道它一定不能太複雜,我找不到答案。 – captDaylight