0

$.getJSON メソッドが機能していないように見えるのに、$.ajax が正常に機能する理由を理解しようとしています。まず、これが私の getJSON 呼び出しです。

$.getJSON("http://localhost:1505/getServiceImageList?callback=loadImagesInSelect", loadImagesInSelect);

コールバック パラメーターをクエリ文字列に直接追加しようとして (文字列ではなく試しました)、js ファイルで定義されたコールバック メソッドへの参照を追加したことがわかります。

$.ajax の呼び出しは次のとおりです。

function getImages() {
            $.ajax({
                type: "GET",
                url: $('#txt_registry_url').val(),
                dataType: "jsonp",
                success:loadImagesInSelect ,
                error:function (xhr, ajaxOptions, thrownError) {
                    alert(xhr.status);
                    alert(thrownError);
                }

            });
        }

この例では、テキスト ボックスから取得された URL は、getJSON への直接の呼び出しと同じです。メソッド呼び出しが完了すると、successMethod が呼び出され、すべてが正常に処理されます。

私は 2 つの方法のうち後者を使用することに問題はありませんが、ドキュメントでは、getJSON が推奨される簡略化された方法であるように思われます。

すべてを機能させるための速記法で何が欠けているのか、誰か説明してもらえますか?

前もって感謝します。

4

2 に答える 2

0
$.getJSON("http://localhost:1505/getServiceImageList?data=yes&callback=?", loadImagesInSelect);

function loadImagesInSelect(json) {
   //whatever you want on success
}

次にサーバー側でphpを使用します(注:GETクエリ文字列にデータを追加しました)

$data = getDataAsJSON($_GET['data']);
echo $_GET['callback'] . '(' . $data . ');';

getJSON は「callback=?」を確認する必要があります。

私は $.ajax に固執します

于 2010-04-07T21:44:27.243 に答える
0

私が理解していることから、あなたが使用する必要がある

$.getJSON("http://localhost:1505/getServiceImageList?callback=?", loadImagesInSelect);

jQuery は、コールバックに名前を付けてから、その呼び出しを loadImagesInSelect に転送します。

これがジェローム・ワグナーに役立つことを願っています

于 2010-04-07T21:31:26.743 に答える