2009-08-27 16 views
36

私はPHPスクリプトを実行したいとしましょう。どちらの方が良いですか?jQuery ajax()vs get()/ post()

この:

$.ajax({ 
    type: "GET", 
    url: "php-script.php", 
    dataType: "script" 
}); 

またはこの:

$.get("php-script.php", function(data) { }); 
+0

スクリプトの効果は何ですか? –

答えて

29

この場合、リクエストの種類がすぐにわかるので、$.getと言います。いずれにしても、それは大規模でオプションのあるAjaxコールのほうが簡単です。最悪の場合、2つの間の変換は簡単です。

ファンシーな$.ajaxオプションが必要と思われる場合は、$.ajaxを使用してください。あなたがなど.load$.get、などのjQueryが提供する便利なメソッド、

22

$.get()は、 "GET" タイプの$.ajax()コールのためだけのショートカットです。

詳細$.get()は、バックグラウンドで$.ajax()を呼び出します。 $(function(){})のようなそのショートカットの種類は$(document).ready(function(){})です。 $.getの一般的な使用例は、少し複雑なやり方が必要な場合や、余分な柔軟性が必要な場合は、$.ajaxを使用する必要があります。

+0

$ .getはtype = "GET"の$ .ajaxをラップします。これは単にショートカット以上のものです。主な違いは、$ .getを使用してサーバーにPOSTリクエストを行うことができないということです。 – karim79

+3

私はそれが明らかだと思っていたでしょう...あなたがそれを考えていないので、私はそれを更新しました。 –

+0

@Darko Z - それはあなたの答えから明らかではありませんでした。だから私がコメントしたのは、それを指摘するためです。しかし、あなたの更新はそれを明白にしています。 – karim79

1

$.get()/$.post()を使用しない場合beforeSend$.ajax()のように対応していません。たとえば、直接読み込んでいるときにスピナーを表示することはできません。しかし、.ajaxStart()でこれを行うことができます。