好吧,我敢肯定这很简单,但我的头发已经用光了。我正在向我的控制器发布一个 ajax 请求并尝试在 CoffeeScript 中获得响应。我尝试转向纯 JS,但没有任何区别。
jQuery 文档暗示我的 newImage() 应该是 newImage(data) 但如果我这样做,我会得到未定义的错误数据。使用此代码,我的警报只是未定义。
jQuery ->
$('select[data-type=scene]').change ->
i_num= $(this).attr('data-num').toString()
i_value= $(this).find(':selected').text()
request= 'new image for :'+ i_num + ': get :' + i_value + ': image'
$.post('/new_image', {request: => request}, newImage())
newImage= (new_url) ->
alert new_url
控制器正在提供我可以在控制台中看到的响应,但 ajax 回调似乎没有抓住它。控制器代码是 .
def new_image
request= params['request'].split(':')
@url= get_thumb_url(request[3])
@img_num= request[1]
reply= @img_num + '::' + @url
render json: reply, content_type: 'text/json'
end
响应是 3:: https://bnacreations.s3.amazonaws.com/g/thumbnails/image.jpg
关于我偏离轨道的任何建议?