Ошибка запроса Json при использовании Alamofire в Swift - PullRequest
0 голосов
/ 12 июня 2018

http://dev.alshmokh1.net/mobile/Login/?username=yasser&password=123

когда я вызываю этот API, я получаю данные от сервера

[
    {
        "UserID": "yasser",
        "Username": null,
        "sysAdmin": "True",
        "UpdatePW": "True",
        "Name": "  selem yasser",
        "Email": "a@a/com",
        "iType": "2",
        "UserPW": "123",
        "Admin": "True",
        "Id_Bank": "5",
        "msg": "Success"
    }
]

Я использую alamofire для анализа данных из API.это код синтаксического анализа

func login()
   {

    let username = txtUserName.text!
     let password  = txtPassword.text!

    print("username\(username)  password \(password)")

    let params: [String: Any] = ["username": username, "password": password]

    let urlString = "http://dev.alshmokh1.net/mobile/Login/"
    guard let url = URL(string: urlString), var request = try? URLRequest(url: url, method: .post, headers: nil) else{
        //
        return
    }

    request.httpBody = params.map{ "\($0)=\($1)" }.joined(separator: "&").data(using: .utf8)
    Alamofire.request(request).responseJSON { response in

        print("response",response)
     }
    }

Результат

[
    {
        "UserID": null,
        "Username": null,
        "sysAdmin": null,
        "UpdatePW": null,
        "Name": null,
        "Email": null,
        "iType": null,
        "UserPW": null,
        "Admin": null,
        "Id_Bank": null,
        "msg": "failure"
    }
]

как анализировать данные с помощью alamofire, где я допустил ошибку

1 Ответ

0 голосов
/ 12 июня 2018

попробуйте этот код, потому что вам нужно добавить параметр в URL

func login()
    {

        let username = txtUserName.text!
        let password  = txtPassword.text!

        print("username\(username)  password \(password)")


        let urlString = String(format:"http://dev.alshmokh1.net/mobile/Login?username=%@&password=%@",username,password)
        guard let url = URL(string: urlString), var request = try? URLRequest(url: url, method: .post, headers: nil) else{
            //
            return
        }

        Alamofire.request(request).responseJSON { response in

            print("response",response)
        }
    }

response

response SUCCESS: (
        {
        Admin = True;
        Email = "a@a/com";
        "Id_Bank" = 5;
        Name = "  selem yasser";
        UpdatePW = True;
        UserID = yasser;
        UserPW = 123;
        Username = "<null>";
        iType = 2;
        msg = Success;
        sysAdmin = True;
    }
)
...