簡體   English   中英

如何在使用jQuery.ajax時限制/指定json響應

[英]How to limit/specify the json response when using jQuery.ajax

所以我最近才開始在jQuery中使用ajax。 我想知道是否可以限制或指定您想要從響應中返回的內容。

所以說我有以下內容,我只想得到前三個人或100人中的最后三個人。

$.ajax({
   type: "GET",
   url: "/people"
   dataType: "json",
   success: function(data) {
      // Do some awesome stuff.
   }
});

現在,我知道你可以使用pas和可選的數據對象。 這個數據對象可以用來限制或指定我想要的響應嗎?

謝謝你的幫助!

您應該在服務器端執行過濾器。 傳遞參數使用data

$.ajax({
   type: "GET",
   url: "/people",
   data: {limit: 3, order: 'desc'}, 
   dataType: "json",
   success: function(data) {
      // Do some awesome stuff.
   }
});

然后在服務器端,根據limitorder返回響應。

是的,您可以使用'data'參數將參數傳回服務器,指示您要返回的記錄。 我通常使用分頁來獲取行1-10或21-30。 這要求您的服務器邏輯理解從所需的參數值返回正確數量的數據。 如果您沒有控制權(服務器總是向您發送100條記錄),那么在您的成功處理程序中,您將手動提取所需的3條記錄。

$.ajax({
 type: "GET",
 url: "/people"
 dataType: "json",
 data: {
   minRow: 1,
   maxRow: 10
 },
 success: function(data) {
    // Do some awesome stuff.
 }
});

您必須根據您的響應類型限制服務器端的結果。 如果響應是JSON,你可以進行for循環,使其停在第3個結果。 我個人會去服務器端,因為我會減少響應大小。

如果你選擇做這個客戶端:

成功回調的第一個參數是從服務器返回的數據。

由於您期望從服務器返回的數據類型是JSON,因此將返回JavaScript對象。 您可以像在JavaScript中一樣訪問第一個或最后一個3個人。

例如,如果來自服務器的響應采用以下形式:

{ 
    "people" : [
        { name: "Foo" },
        { name: "Bar" },
        { name: "Baz" },
        // and so on...
    ]
} 

您可以訪問第一個或最后3個人,如下所示:

$.ajax({
   type: "GET",
   url: "/people"
   dataType: "json",
   success: function(data) {
      // Assuming there are 100 people in the "people" array
      // The first three people 
      console.log( data.people[0] ); // "Foo"
      console.log( data.people[1] ); // "Bar"
      console.log( data.people[2] ); // "Baz"

   } 
});

如果我明白了.....

我通常在ajax請求中發送數據。 在你的情況下,我發送這個:

 url:'addres'
 data: 'from='+value_from+'&to='+to;
 type:'post'

在服務器端,你可以從中獲取或者類似的東西(如果你想要的數量,或其他選項),並根據你想要的結果做出反應

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM