我有一个页面,带有一个ajax GET到ruby函数。
Get请求应返回变量@player。
当ajax“成功”时,应调用函数popPools

$.ajax({
  type: "GET",
  data: { faceid : response.id },
  url: "/pool/mMypools2",
  success: popPools()
  })


function popPools(){
  $("<%= content_tag(:p, @player[0].id) %>"
  ).appendTo(document.getElementById("asd"));}


我的问题是,在ajax有机会从mMypools响应获取新变量之前,会自动调用popPools函数。

error:
Called id for nil, which would mistakenly be 4 -- if you really wanted the id of nil, use object_id


因为onload @player不包含任何内容。

谢谢

最佳答案

删除popPools末尾的括号:

$.ajax({
  type: "GET",
  data: { faceid : response.id },
  url: "/pool/mMypools2",
  success: popPools
  })


您正在将popPools函数的结果传递为success的值,而不是函数本身。

10-06 00:22