0

jQueryは初めてです。私のアプリケーションはすでに構築されています。2つのajaxメソッド$.getJSON()と$.ajax()が使用されているのがわかります。私が理解していないのは、の場合$.getJSON()、成功関数で受信したデータがオブジェクトとして直接使用されることです。

しかし、$。ajaxの場合、コードが表示 されますvar json = eval('(' + data + ')');。なぜこの変換を行う必要があり、$.getJSON()メソッドに必要ないのですか?

以下は、$。ajax()および$ .getJSON()コードです。

    $.ajax({
    type: 'POST',
    url: ServiceUrl.SystemConfig,
    data: "",
    success : function(data) {
         var json = eval('(' + data + ')');
    }

    $.getJSON('/index', "",
    function(json, textStatus) { })
4

2 に答える 2

1

メソッドはの$.getJSON( url [, data ] [, success(data, textStatus, jqXHR) ] )ショートカットです

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

ドキュメントを読むと、それがわかります。

于 2013-02-15T17:31:32.343 に答える
0

$.getJSON は、予期される Content-Type を $.ajax リクエストで application/json に設定するためのショートカットです。これは、レスポンスを返す前に JSON オブジェクトに解析するよう jQuery に指示します。これは、JSON を受け取ることがわかっている場合に非常に役立ちます。$.ajax はより汎用的であるため、具体的に指示されない限り、JSON を取得することを知りません。これは、$.ajax からの応答が事前に解析されていないことを意味し、自分で行う必要があります。

于 2013-02-15T17:43:00.217 に答える