2010-11-22 10 views
0

Ben denetleyicisiSorun 2.3.5

def unique_email 
count = User.count(:all, :conditions => ['email = ?',params[:email]]) 
result = Hash.new() 

if count > 0 
    result[:text] = "false" 
else 
result[:text] = "true" 
end 
respond_to do |format| 
    format.json { 
    render :json => result 
    } 
end 

aşağıdaki

<script> jQuery.getJSON("http://localhost:3003/home/unique_email/[email protected]&callback=result", { format: "jsonp" }, function(result) { alert(result.text) }); </script>

kullanıyorum alanlar arası kontrolü için getJSON() yöntemini kullanmak istiyorum bitiş

Aynı etki alanında uyarı alıyorum, bu, başvurumda uyarı alıyorum ancak kodu yan tarafa koyarken, uygulama yapmadığım anlamına gelir. Herhangi bir Hata alıyorum ama uygulama eylemi denir .. Ama uygulamadan herhangi bir yanıt alamıyorum.

Herhangi bir yardım için teşekkür ederiz.

Teşekkür & Saygılarımızla,

Ramanavel Selvaraju.

cevap

0

Bunun için Answer bulundu,

Wen uygulama denetleyicisi render_json yöntemi eklemek gerekir.

private 

    # render json, but also allow JSONP and handle that correctly 
    def render_json(json, options={}) 
     callback, variable = params[:callback], params[:variable] 
     logger.debug("render json or jsonp? Callback = #{callback}, Variable=#{variable}") 
     response = begin 
     if callback && variable 
      "var #{variable} = #{json};\n#{callback}(#{variable});" 
     elsif variable 
      "var #{variable} = #{json}" 
     elsif callback 
      "#{callback}(#{json});" 
     else 
      json 
     end 
     end 
     render({:content_type => :js, :text => response}.merge(options)) 
    end 

Bu yüzden jQuery ajax dattype'u jsonp olarak alabiliriz.