2010-09-30 37 views
27

Aşağıdaki kod var:

$.get('http://www.example.org', {a:1,b:2,c:3}, function(xml) {}, 'xml'); 

istek yapıldıktan sonra istek yapmak için kullanılan url almak için bir yolu var mı (geri aramada veya başka bir şekilde)?

http://www.example.org?a=1&b=2&c=3 
+0

kullanmak istiyorsunuz, url ve parametre geçmesi gerekiyor. Öyleyse neden geri çağırma işlevinde tam URL için bir dize oluşturmuyorsunuz? – Vikas

cevap

38

Ben hiçbir complete olay vardır çünkü $.get() üzerinde çalışmak için alınamıyor:

ben çıkışını istiyorum. Böyle $.ajax() kullanmak önermek

,

$.ajax({ 
    url: 'http://www.example.org', 
    data: {'a':1,'b':2,'c':3}, 
    dataType: 'xml', 
    complete : function(){ 
     alert(this.url) 
    }, 
    success: function(xml){ 
    } 
}); 

craz demo

+3

Çok akıllı! Ben bu this.url başarı geri aramada mevcut değil şaşırdım – Christopher

+0

Angularjs aynı yapmak için herhangi bir yolu var mı? –

+0

Emin değilim .. Angularjs'le aşina değilim ... bu konuda ayrı bir soru sormalısınız ... – Reigel

3

jQuery.get jQuery.ajax için sadece bir kısaltmadır olduğundan, başka bir yol olarak, ikincisi kişinin context seçeneğini kullanmak olacaktır belirtilen documentation: bütün geri aramalar içinde

this referans bağlamı seçeneklerinin pas amacı, ayarlarda $.ajax'a; bağlam belirtilmemişse, bu Ajax ayarlarının kendilerine bir göndermedir. Eğer olsun() yöntemini çağırdığınızda

Yani

$.ajax('http://www.example.org', { 
    dataType: 'xml', 
    data: {'a':1,'b':2,'c':3}, 
    context: { 
    url: 'http://www.example.org' 
    } 
}).done(function(xml) {alert(this.url}); 
+0

Teşekkürler. Rails'deki form gönderme hatamın hatalarını ayıkladım. MyResource denetleyicisi http: // localhost: 3000/my_resource/new'in 'yeni' eylem yolu ile yeni bir kaynak oluşturuldu. Bir bağlantı, AJAX isteğini özel Rails denetleyici eylemine 'change_partial' yaptı. AJAX seçeneklerinde 'type: 'GET', url: 'change_partial', dataType: 'html' kullanılır. Arka kısmi denetleyici eylemi adı verilen bağlantı tıklandığında, HTML kısmi döndürüldü. Ancak, "http://www.webhost.com/default/default/default/default.html adresindeki" create "yolunu oluşturduktan ve linke tıklandığında hatalar oluştu. 'Url:' my_resource/change_partial 'ile değiştirildi –

İlgili konular