2017-08-06 61 views
0

我遇到了一個「奇怪」(也許不是)的情況,我需要通過URL傳遞參數,而不是將它們作爲q發送。看看下面的例子從docs使用AJAX數據源時,我可以在Select2中設置查詢字符串參數嗎?

$(".js-data-example-ajax").select2({ 
    ajax: { 
    url: "https://api.github.com/search/repositories", 
    dataType: 'json', 
    delay: 250, 
    data: function (params) { 
     return { 
     q: params.term, // search term 
     page: params.page 
     }; 
    }, 
    processResults: function (data, params) { 
     params.page = params.page || 1; 

     return { 
     results: data.items, 
     pagination: { 
      more: (params.page * 30) < data.total_count 
     } 
     }; 
    }, 
    cache: true 
    }, 
    ... 
}); 

在上面的例子params.term被髮送到服務器,你可以使用任何機制來得到它,做你想做的事情。

在我的情況下,我將搜索條件發送到API端點。該API期待類似下面的例子:

http://someurl?slug=56&title=56&description=56&content=56 

換句話說:

'http://someurl?slug='+params.term+'&title='+params.term+'&description='+params.term+'&content='+params.term 

正如你許多的通知params.term成爲要對URL的API發送的值。

但我不知道如何實現這與Select2。我一直在尋找一些信息,但沒有成功,這是我到目前爲止已經看了:

但沒有說什麼關於我需要什麼。是否有任何想法如何實現這一目標?

+0

你想要的查詢字符串似乎不匹配api文檔https://developer.github.com/v3/search/。數據中的'q'似乎是正確的 – charlietfl

+0

@charlietfl這僅僅是一個例子,並不意味着它是我從示例中複製並粘貼的正確URL,以便將該帖​​子保留在同一頁面上,如果它很混亂,我可以將其更改爲別的東西 – ReynierPM

+0

當你使用查詢參數組成或者顯示一個像github這樣的API文件時,這個文檔是有據可查的 – charlietfl

回答

1

更改數據對象,以反映您想在查詢字符串的屬性:

data: function (params) { 
    return { 
    slug: params.term, 
    description: params.term, 
    content: params.term 
    }; 
}, 
在開發工具的網絡,這確實是爲完成

仔細檢查一個GET或嘗試加入type:'GET'到AJAX選項

+0

太好了,你是最好的,它不需要添加'type:'GET''來請求。謝謝 – ReynierPM

相關問題