2011-11-13 18 views
7

Próbuję zrozumieć, jakie są różnice między funkcją $.getScript w jQuery i $.get.

Zgodnie z dokumentacją: http://api.jquery.com/jQuery.get/ i http://api.jquery.com/jQuery.getScript/

To dało mi poczucie, że z $.getScript można wysyłać dane do serwera (podobnie jak w przypadku funkcji $.get), ale nie można pobrać dane z serwer (który można z funkcją $.get). Ale pokazuje to w dokumentacji $.getScript, niektóre linie poniżej w pierwszym przykładzie, że można uzyskać również dane z linią console.log(data); //data returned.

Jakie są różnice? Czy z $.getScript można wywoływać tylko skrypty js, a przy $.get można wywoływać dowolny plik? Jakie są ograniczenia/korzyści związane z używaniem jednej funkcji zamiast drugiej?

Odpowiedz

18

Oba to skróty do funkcji ajax. jQuery.get odpowiada:

$.ajax({ 
    url: url, 
    data: data, 
    success: success, 
    dataType: dataType 
}); 

Podczas jQuery.getScript odpowiada:

$.ajax({ 
    url: url, 
    dataType: "script", 
    success: success 
}); 

Łatwo jest zauważyć, że jQuery.get może uzyskać każdy rodzaj odpowiedzi (skryptu, XML, JSON skryptu lub html - domyślnie html), a getScript ogranicza się do "skryptu".

W skrócie, getScript służy do dynamicznego wykonać zewnętrzny JavaScript i get jest funkcja ogólnego przeznaczenia zwykle używany do odbierania danych zgodnie z params minął. Możliwe jest jednak również przekazywanie parametrów w postaci getScript (w adresie URL), ale nie będzie często, ponieważ większość skryptów jest statycznych. Ostatecznie wywołanie zwrotne w getScript może być użyte do wykonania instrukcji końcowych po wykonaniu naszego skryptu (na przykład użyj funkcji biblioteki po wczytaniu jej).

1

getScript został zaprojektowany, aby umożliwić ładowanie skryptu. Po dołączeniu skryptu z poziomu skryptu skrypt zostanie załadowany asynchronicznie. Jeśli używasz getScript, możesz ustawić funkcję zwrotną, gdy drugi skrypt zostanie uruchomiony.

$.get to podstawowe żądanie ajax, możesz zrobić to, co chcesz z nim. To całkowicie do ciebie.

Powiązane problemy