Datatables - фильтровать данные из источника AJAX

мое решение работает следующим образом:

import UIKit


class LoginViewController: UIViewController, NSURLConnectionDataDelegate {

  @IBOutlet var usernameTextField: UITextField
  @IBOutlet var passwordTextField: UITextField

  @IBAction func login(sender: AnyObject) {
    var url = NSURL(string: "YOUR_URL")
    var request = NSURLRequest(URL: url)
    var connection = NSURLConnection(request: request, delegate: self, startImmediately: true)

  }

  func connection(connection:NSURLConnection!, willSendRequestForAuthenticationChallenge challenge:NSURLAuthenticationChallenge!) {

    if challenge.previousFailureCount > 1 {

    } else {
        let creds = NSURLCredential(user: usernameTextField.text, password: passwordTextField.text, persistence: NSURLCredentialPersistence.None)
        challenge.sender.useCredential(creds, forAuthenticationChallenge: challenge)

    }

}

  func connection(connection:NSURLConnection!, didReceiveResponse response: NSURLResponse) {
    let status = (response as NSHTTPURLResponse).statusCode
    println("status code is \(status)")
    // 200? Yeah authentication was successful
  }


  override func viewDidLoad() {
    super.viewDidLoad()

  }

  override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()

  }  
}

Этот класс можно использовать как реализацию ViewController. Подключите свои поля к аннотированным VAR-файлам IBOutlet и вашей Button к аннотированной функции IBAction.

Объяснение: При входе в функцию вы создаете свой запрос с NSURL, NSURLRequest и NSURLConnection. Существенным здесь является делегат, который ссылается на этот класс (сам). Для приема вызовов делегатов вам необходимо

  • Добавить протокол NSURLConnectionDataDelegate в класс
  • Реализовать функцию протокола «connection: willSendRequestForAuthenticationChallenge». Это используется для добавления учетных данных в запрос
  • Реализация функции протокола «connection: didReceiveResponse» Это проверит код состояния ответа HTTP
0
задан Sascha Gottfried 6 March 2019 в 12:19
поделиться

1 ответ

Вариант использования: Управление данными, возвращаемыми с сервера.

$('#example').DataTable({
    "ajax" : {
        "url" : "https://api.myjson.com/bins/12uwp2",
        "dataSrc": function ( json ) {
            return json.filter(function(item){
                return item.status=="active";         
                });
         }
    }
});

. Ключ должен правильно использовать dataSrc для манипулирования данными.

Как функция - как функция, которая принимает один параметр, JSON возвращается с сервера, которым можно манипулировать по мере необходимости. Возвращаемое значение из функции - это то, что будет использоваться DataTables в качестве источника данных для таблицы.

Я рекомендую удалить свойство processing из объекта инициализации DataTable, так как больше нет тяжелого этапа обработки.

Docs

0
ответ дан Sascha Gottfried 6 March 2019 в 12:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: