SORU
25 Ocak 2011, Salı


't başarı üzerinde yöntem çağrısı değil jquery $.raylar için ajax standart DİNLENME SİL cevap

Böyle bir sorun olabilir yeni bir şey değil, ama benzer bir şey bulamadım. Bu jQuery kodu var:

$.ajax({ 
  url : ('/people/' id), 
  type : 'DELETE', 
  dataType : 'json', 
  success : function(e) {
    table.getItems(currentPage);
  }
});

Raylar benim denetleyicisi bu gibi görünüyor:

def destroy
    @person = Person.find(params[:id])
    @person.destroy

    respond_to do |format|
      format.html { redirect_to(people_url) }
      format.json  { render :json => @person, :status => :ok }
    end
end

Bu çalışıyor.

Ama aşağıdaki kullandığımda standart tarafından oluşturulan gibi), success geri çağrıldı gelmez:

def destroy
    @person = Person.find(params[:id])
    @person.destroy

    respond_to do |format|
      format.html { redirect_to(people_url) }
      format.json  { head :ok }
    end
end

rails 3.0.3, jQuery 1.4.2 Firefox 3.6.13 altında test edilmiştir.
Kundakçı, sorgu atılıyor ve 200 OK verir diyor her iki durumda da, maddenin her iki durumda da silinir. Ama ikinci durumda geri çağrılmaz.

GERİSİ önemli bir fark var, ve scaffolded denetleyicisi kullanarak bir WordPress kullanmak kullanmak için bir yolu var mı?

CEVAP
13 NİSAN 2011, ÇARŞAMBA


Bu eseri birkaç kez çalıştırın ve cevap aldatıcı basit.

Senin dataType : 'json' kullandığınız $.ajax çağrı, bu yüzden jQuery JSON yanıt bekliyor. head :ok Raylar ile döner bir yanıt geçerli JSON jQuery tarafından kabul edilen tek bir boşluk (http://github.com/rails/rails/issues/1742), içeren.

Eğer öyleyse gerçekten girmeyi ya bir hata ya da bir çıplak 200 OK Başlığı, sadece set dataType : 'html' isteğinizi ve bu çalışması gerekir (ayarlamazsanız türü, DV tahmin etmeye çalışır ne tür dayalı yanıt başlıkları, vb., ve hala bu durumda hala bu sorun olurdu json, sanırım. Eğer gerçekten geri JSON, head :ok işlemek yerine almak için bekliyoruz bir şey JSON (yorum) geçerli veya sadece @Waseem önerdiği gibi head :no_content kullanın

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • HowToBasic

    HowToBasic

    8 Aralık 2011
  • Ludique

    Ludique

    21 NİSAN 2009
  • Study with Substance P

    Study with S

    31 Mayıs 2008