Dimitri T Dimitri T - 1 year ago 198
Swift Question

swift error "Domain=NSCocoaErrorDomain Code=3840 "Invalid value around character 1."

I am having trouble fixing this error message on my Swift Alamofire POST request (to login a user).

'3840' "Invalid value around character 1."

I have imported Foundation, Alamofire, SwiftyJson. There are no authorisation restrictions (no Oauth etc). I'm also getting the same error message when I change the Post (eg to another endpoint, with other parameters and values) but keep the rest of the code/format the same. On my drupal7 REST server 'definitions' it lists the endpoint as /rest/user/login and parameters as 'username' and 'password' strings as I've used.

I'd really appreciate any tips and help?

error calling REQUEST
Error Domain=NSCocoaErrorDomain Code=3840 "Invalid value around character 1." UserInfo={NSDebugDescription=Invalid value around character 1.}

This is my code

@IBAction func loginButtonTapped(sender: AnyObject) {

//using Alamofire

let dataEndpoint: String = "https://www.example.com/rest/user/login"
let newData = ["username":"Mickey", "password":"123"]
Alamofire.request(.POST, dataEndpoint, parameters: newData, encoding: .JSON)
.responseJSON { response in
guard response.result.error == nil else {
// got an error in posting the data, need to handle it
print("error calling REQUEST")

guard let value = response.result.value else {
print("no result data when calling request")
let data = JSON(value)
print("The result is: " + data.description)


Thank you

Answer Source

Adding .json at the end of the URL endpoint has solved the error. ie https://www.example.com/rest/user/login.json

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download