laravel中字符0周围的Alamofire无效值

时间:2018-06-28 07:23:44

标签: ios swift laravel 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附近的无效值。)))

3 个答案:

答案 0 :(得分:1)

这确实意味着您的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)
            }
}

答案 1 :(得分:0)

它清楚地表明Web服务有问题。 API无法回应有效的JSON。 在Postman中点击API,然后以JSON和HTML格式查看响应

答案 2 :(得分:0)

服务器无法提供有效的JSON对象作为响应。要获得服务器的响应,可以使用Postman或其他一些网络工具。使用Alamofire,您还可以使用以下代码行获取整个字符串(服务器正在响应):

Alamofire.request("mysite/api/user",method:.post,parameters:["uids":uids],encoding: JSONEncoding.default).responseString { response in
    print("Response String: \(response)")
}

希望这会有所帮助!