Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/101.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios uploadTask allHeaderFields中缺少标头。不';t包括来自访问控制的自定义头暴露头_Ios_Swift_Cors - Fatal编程技术网

Ios uploadTask allHeaderFields中缺少标头。不';t包括来自访问控制的自定义头暴露头

Ios uploadTask allHeaderFields中缺少标头。不';t包括来自访问控制的自定义头暴露头,ios,swift,cors,Ios,Swift,Cors,我的服务器正在使用CORS。当用户成功登录时,响应包括标题:accesstoken、uid、client 服务器响应头包括:访问控制公开头:访问令牌、uid、客户端 但是,当我从上传任务中获得成功响应,并访问allHeaderFields时,这些键/值将丢失 我需要做什么才能访问这些标题 谢谢 编辑并添加现在可以正常工作的客户端代码: func postReq(url: URL) -> URLRequest{ var request: URLRequest = URLRequest

我的服务器正在使用CORS。当用户成功登录时,响应包括标题:
accesstoken、uid、client

服务器响应头包括:
访问控制公开头:访问令牌、uid、客户端

但是,当我从上传任务中获得成功响应,并访问
allHeaderFields
时,这些键/值将丢失

我需要做什么才能访问这些标题

谢谢

编辑并添加现在可以正常工作的客户端代码:

func postReq(url: URL) -> URLRequest{
    var request: URLRequest = URLRequest.init(url: url)
    request.httpMethod = "POST"
    request.setValue("application/json", forHTTPHeaderField: "content-type")

    return request
}

func login(){
        let url:URL = baseEndpoint.appendingPathComponent(Endpoints.login.rawValue)
        let request: URLRequest = postReq(url: url)
        let body: [String : String] = ["email" : "test@test.com", "password": "loremipsum"]

        let bodyData:Data = try! JSONSerialization.data(withJSONObject: body)

        uploadTask = defaultSession.uploadTask(with: request, from: bodyData, completionHandler: { (responseData, response, error) in
            if(error == nil){
                let headers =  (response as! HTTPURLResponse).allHeaderFields

            }
        })
        uploadTask?.resume()

    }

安妮解决了我的问题。没有问题,我只是缺少正确的内容类型。脸掌

如果您发布一些版本的客户机代码,或者至少清楚地指出客户机代码运行在什么运行时,您将更有机会得到答案
Access Control Expose Headers
只影响浏览器引擎的行为,那么这是您试图从iOS Safari中运行的前端JavaScript脚本代码中执行的操作吗?还是用Swift代码?如果它实际上是Swift代码,那么
访问控制暴露标题
就无关紧要了。多么愚蠢的举动啊。结果发现我的请求中缺少了正确的内容类型。呻吟@sideshowbarker让我再看一眼。非常感谢。如果您发布一些版本的客户机代码,或者至少清楚地指出客户机代码运行在什么运行时,您将更有机会得到答案
Access Control Expose Headers
只影响浏览器引擎的行为,那么这是您试图从iOS Safari中运行的前端JavaScript脚本代码中执行的操作吗?还是用Swift代码?如果它实际上是Swift代码,那么
访问控制暴露标题
就无关紧要了。多么愚蠢的举动啊。结果发现我的请求中缺少了正确的内容类型。呻吟@sideshowbarker让我再看一眼。非常感谢。