首页 > 解决方案 > 在laravel中字符0周围的Alamofire无效值

问题描述

我使用 alamofire 将发布数据发送到服务器,但它无法发送到我的服务器我使用 laravel 获取用户数据这是我的代码

viewController

Alamofire.request("mysite/api/user",method:.post,parameters:["uids":uids],encoding: JSONEncoding.default).responseJSON { response in
            switch response.result {
            case .success:
                print(response)

                break
            case .failure(let error):

                print(error)
            }

}

并在 php 服务器中

public function seeUser(Request $request) {

    $uid = $request->input('uids');
    //...... and get to model table to query
return response()->json([
      'status' => 'user'
]);
}

并且日志响应错误是

responseSerializationFailed(Alamofire.AFError.ResponseSerializationFailureReason.jsonSerializationFailed(错误域=NSCocoaErrorDomain 代码=3840“字符 0 周围的值无效。” UserInfo={NSDebugDescription=字符 0 周围的值无效。}))

标签: iosswiftlaravelalamofire

解决方案


这确实意味着您的 JSON 不正确。

尝试作为字符串响应并检查它

Alamofire.request("mysite/api/user",method:.post,parameters:["uids":uids],encoding: JSONEncoding.default).responseString { response in
            switch response.result {
            case .success:
                print(response)
                break
            case .failure(let error):
                print(error)
            }
}

推荐阅读