【发布时间】:2016-01-15 22:36:32
【问题描述】:
所以我对此感到非常困惑。我有这个咖啡脚本:
jQuery ->
$('.message').click (e) ->
e.preventDefault()
href = $(location).attr('href')
vote = { 'message': 'message': $('.messagebody').val(), 'photo_id' : href.substr(href.lastIndexOf('/') + 1)}
$.ajax '../messages/',
type: 'POST'
dataType: 'json'
data: JSON.stringify(vote)
error: (jqXHR, textStatus, errorThrown) ->
# console.log(jqXHR)
# console.log(textStatus)
console.log(errorThrown)
success: (data, textStatus, jqXHR) ->
$('.messagebody').val('')
console.log(vote)
当我触发这个事件时,我的 rails 服务器会收到这个:
{"{\"message\":{\"message\":\"asdfasdfasdfasdfasdfasdfasdf\",\"photo_id\":\"1\"}
}"=>nil, "controller"=>"messages", "action"=>"create"}
这是接收此参数的我的控制器:
class MessagesController < ApplicationController
before_filter :authenticate_user!
def create
@message = Message.new()
logger.debug JSON.parse(params)
@user = User.find_by_id(Photo.where(:id => params[:message][:photo_id]).pluck(:user_id))
@message.photo_id = params[:message][:photo_id]
@message.message = params[:message][:message]
@message.user_id = @user.id
@message.user_email = current_user.email
@message.to_user = @user.email
UserNotifier.send_message(@message).deliver
respond_to do |format|
format.json { render json: '{"message": ok}' , status: :created}
end
end
end
当我尝试解析参数时出现此错误
TypeError (no implicit conversion of ActionController::Parameters into String)
我也尝试过不对数据进行字符串化,只发送 json,我的服务器可以 100% 使用它,但 javascript 返回此错误:
SyntaxError: Unexpected token o
我不太确定问题出在哪里,但我只需要解决这些错误,我已经尝试了好几个小时,但还没有找到解决方案。
【问题讨论】:
标签: javascript ruby-on-rails json coffeescript