μΉ μ¬μ΄νΈμμ "AJAX λ°μ΄ν° λ‘λ" μμ λ₯Ό μκ³ μμ§λ§ λ°μ΄ν° μ λ ¬, νν°λ§, κ·Έλ£Ήν λ° νμ΄μ§ 맀κΉκ³Ό κ΄λ ¨λ λ€λ₯Έ λͺ¨λ μμ κ° ν΄λΌμ΄μΈνΈ μΈ‘(λΈλΌμ°μ )μμ λ°μνλ κ²μΌλ‘ 보μ λλ€.
μλ² μΈ‘μμ μ΄κ²μ μννλ μκ° μμ΅λκΉ?
λ΄κ° μ λ§λ‘ κ΄μ¬μ΄ μλ κ²μ νμμ μ§μ νκ³ μ§λ ¬ννκ³ λ§€κ°λ³μ(μ λ ¬, νν°, νμ΄μ§, ν¬κΈ°)λ₯Ό 리μμ€(λλ Restangular λλ...)λ‘ λ³΄λ΄λ λ°©λ²μ λν μμΈ κ² κ°μ΅λλ€.
κ°μ¬ ν΄μ!
+1
+1
μλ νμΈμ, ng-tableμ ν΄λΌμ΄μΈνΈ λΌμ΄λΈλ¬λ¦¬, μλ² λΆλΆλ§ μνλλλ‘ λ§λ€ μ μμ΅λλ€. μλ₯Ό λ€μ΄ https://github.com/esvit/bazalt-rest/blob/master/src/Bazalt/Rest/Collection.php#L37 -87 μ½λμ μ΄ λΆλΆμ λ³Ό μ μμ΅λλ€.
@esvit - μμ²μ μλ² μΈ‘ νμ΄μ§ 맀κΉ, μ λ ¬, κ·Έλ£Ήν, νν°λ§ λ±μ μ²λ¦¬νλ ng-tableμ μμ ν μμ λν κ²μ΄μμ΅λλ€. ng-tableμ΄ ν΄λΌμ΄μΈνΈ λΌμ΄λΈλ¬λ¦¬λΌλ λ° λμνμ§λ§ κ·Έλ¬ν μλ λ§μ λμμ΄ λ κ²μ λλ€. μλλ¦¬μ€ μ€ μ격 λ°μ΄ν°μ ν¨κ» μ΄ ν΄λΌμ΄μΈνΈ λΌμ΄λΈλ¬λ¦¬λ₯Ό μ¬μ©νλ κ²μ΄ ν¬ν¨λ©λλ€...
@esvit μ, μ°λ¦¬κ° μνλ κ²μ _ν΄μΌ_ νλ λ°©λ², μ¦ JSON κ°μ²΄ ng-tableμ΄ κΈ°λνλ κ²μ 보μ¬μ£Όλ κ²μ λλ€.
+1
νν°λ§, μ λ ¬ λ° νμ΄μ§μ ν΄λ¦ μ΄λ²€νΈλ₯Ό κ°λ‘μ±λ λ°©λ²λ§ μμ΄λ λλ¨Έμ§λ μλ²μ μ°κ²°νλ λ° λμμ΄ λ©λλ€... κ°μ¬ν©λλ€.
νλ₯ν λμκ΄ btw ...
+1
+1
+1
μ λ ¬μ μν΄ μ¬μ©μ μ μ ν¨μλ₯Ό νΈμΆνλ μ’μ λ°©λ²μ΄ μμ§λ§ νμνμ§ μμ κ²½μ° +1μ λλ€.
ν€λμ ng-click="sort(vars,directionToggle)"μ μ
λ ₯νκ³ μ λ ¬μ νμ±νλ μνλ‘ λ μλ μμ΅λλ€. κ·Έλ¬λ©΄ λ°©ν₯ ν κΈμ΄ ν κΈκ³Ό μΌμΉνλ ν νμ΄νκ° μ λλ‘ νμλ©λλ€.
νν°λ§μ μ½κ° λ 볡μ‘ν©λλ€. ng-table νν°λ§μ λΉνμ±ννκ³ ν€λμ μμ ν μ¬μ©μ μ μ νν° μ
λ ₯μ μΆκ°νλ©΄ ng-table intergenerationμ λν΄ κ±±μ ν νμκ° μμ΅λλ€.
κ±°κΈ°μμ λ°±μλ λ°μ΄ν°λ₯Ό μ²λ¦¬νκ³ μ¬λ°λ₯Έ λ°μ΄ν°λ₯Ό μ¬λ°λ₯Έ μμλ‘ λ³΄λ΄κ³ μλμ§ νμΈνλ κ²μ΄ μ λΆμ λλ€. κ·Έλ° λ€μ ν΄λΉ λ°μ΄ν°λ₯Ό μ°κ²°νκ³ bamνλ©΄ ajax μ λ ¬/νν°λ§ ν μ΄λΈμ΄ μκΉλλ€.
+1
μ΄κ²μ΄ μμνλ λ° λμμ΄ λλ κ²½μ° μλ² μΈ‘ νμ΄μ§ 맀κΉμ λν μμ λλ€. ν΄λΌμ΄μΈνΈλ νμ΄μ§ λ²νΈμ νμ΄μ§ ν¬κΈ°λ₯Ό μλ²μ 보λ΄κ³ μλ²λ ν΄λΉ νμ΄μ§μ λν λ°μ΄ν° νκ³Ό μ΄ ν μλ₯Ό μλ΅ ν€λλ‘ λ°νν©λλ€.
$scope.tableParams = new ngTableParams({
page: 1, count: 10
}, {
getData: function($defer, params) {
var receiveData = function(data, responseHeaders) {
// in my case, the server returns the total number of rows as a response header
// call params.total(...) to tell ng-table the total number of rows
params.total(responseHeaders("count"));
// the server returns just the data for the current page, so can send it as is
$defer.resolve(data);
};
// getData gets called when you click on a different page in the pagination links.
// get the page number and size from params.$params
var pageNumber = params.$params.page;
var pageSize = params.$params.count;
// set up the query parameters as expected by your server
var queryParams = {"paging.pageSize":pageSize, "paging.pageNumber":pageNumber};
// send an ajax request to your server. in my case MyResource is a $resource.
MyResource.query(queryParams, receiveData);
}
});
λκ΅°κ°μκ² λμμ΄ λκΈ°λ₯Ό λ°λλλ€.
νμ€ λλ
+1
+1
+1
μ λ§ μ’λ€
λλ κ·Έκ²μ΄ μ‘°κΈ λ¦μλ€λ κ²μ μκ³ μμ§λ§ λκ΅°κ°κ° μλ² μΈ‘ μ λ ¬ λ°μ΄ν°λ₯Ό νμνλ μ λ§ μ’μ μλ₯Όνμ΅λλ€.
https://www.codeproject.com/Articles/892301/Server-side-Data-Filtering-Sorting-and-Paging-with
λλ μ°λ¦¬κ° μ΄κ²μ ν μ μλμ§ λͺ°λμ΅λλ€. μ΄κ²μ λ¬Έμμμ κ·Έλ κ² λͺ ννμ§ μμ΅λλ€. :(
μλ
νμΈμ νμ€λλ μ
λλ€.
λΉμ μ μκ²¬μ΄ μ λ§ λμμ΄ λ§μ΄ λμ§λ§, μ κ° μλ‘μ΄ κ²μ΄λ―λ‘ λͺ κ°μ§κ° λͺ
ννμ§ μμ΅λλ€.
1# μμ λ°μ΄ν°κ° ν¨μμ μΈμλ‘ μ λ¬λλ μ΄μ .
λμ λ΄ ajax ν¨μλ₯Ό νΈμΆν λ
MyResource.query(queryParams, λ°μ΄ν° μμ );
λ°μ΄ν°λ₯Ό νμνκ³ μμ§λ§ λμ€μ ajaxκ° λ°νλλ©΄ μΉ΄μ΄νΈκ° μλ‘ κ³ μ³μ§μ§ μμ΅λλ€. κ·Έλ¦¬κ³ μμ½μ€ μ½λ λ΄μμ λ€μ λ‘λλ₯Ό μ¬μ©νλ κ²½μ° λ¬΄ν 루νλ‘ μ΄λν©λλ€.(
μλ νμΈμ @rbhargava25
μμ λ°μ΄ν°κ° ν¨μμ μΈμλ‘ μ λ¬λλ μ΄μ .
MyResource.query
λ λΉλκΈ° ν¨μμ΄κΈ° λλ¬Έμ
λλ€. μλ²μ μμ²μ νκ³ μλ΅μ΄ λμμ€λ©΄ μ΄λ€ μ½λλ₯Ό μ€νν μ§ μμμΌ ν©λλ€. μ΄ κ²½μ° receiveData
_callback function_μ νΈμΆνλ κ²μ
λλ€.
λμμ΄ λκΈ°λ₯Ό λ°λλλ€.
κ°μ¬ν©λλ€ νμ€λλ...
리μμ€ λμ κ°λ¨ν http μμ²μ μ¬μ©νκ² μ΅λλ€.
κ°μ₯ μ μ©ν λκΈ
μ΄κ²μ΄ μμνλ λ° λμμ΄ λλ κ²½μ° μλ² μΈ‘ νμ΄μ§ 맀κΉμ λν μμ λλ€. ν΄λΌμ΄μΈνΈλ νμ΄μ§ λ²νΈμ νμ΄μ§ ν¬κΈ°λ₯Ό μλ²μ 보λ΄κ³ μλ²λ ν΄λΉ νμ΄μ§μ λν λ°μ΄ν° νκ³Ό μ΄ ν μλ₯Ό μλ΅ ν€λλ‘ λ°νν©λλ€.
λκ΅°κ°μκ² λμμ΄ λκΈ°λ₯Ό λ°λλλ€.
νμ€ λλ