1

我正在尝试通过 Rails 控制器将 JSON 数据发布到服务器。我的ajax就像

$.ajax( {
    url: "http://localhost:3000/widget_denemes/getUserInfo",
    data: {userInfo: {mainURL:document.location.href}},
    dataType: 'json',
    type: 'POST',
    success: function(data) {
        alert("Successful");
    },
    error: function() {
        alert("Unsuccessful");
    }
});

我的控制器就像

  def getUserInfo
    data = ActiveSupport::JSON::decode(params[:userInfo])
    format.json {head :ok}
  end

我的路线也是

post 'widget_denemes/getUserInfo' => 'widget_denemes#getUserInfo'

但是当我运行服务器时,我在终端上看到了这个问题

Started POST "/widget_denemes/getUserInfo" for 127.0.0.1 at 2012-05-15 11:34:20 +0300
Processing by WidgetDenemesController#getUserInfo as HTML
  Parameters: {"userInfo"=>{"mainURL"=>"file://localhost/Users/ender/Desktop/widgetTest.html"}}
Completed 500 Internal Server Error in 0ms

TypeError (can't convert ActiveSupport::HashWithIndifferentAccess into String):
  app/controllers/widget_denemes_controller.rb:36:in `getUserInfo'

有什么问题?我应该如何解决它?

4

0 回答 0