2016-04-26 16 views
0

würde Ich mag diese Abfrage in swift konvertieren:JSON Abfrage mit SWIFT, iOS

<script> 
jQuery.ajax(
{ 
    url: "http://website.net/api/Clients/", 
    type: 'POST', 
    headers: {"Token": "Votre token"}, 
    dataType: "json", 
    data: { "PhoneNumber": phoneNumberValue, "SecretCode":  secretCodeValue }, 
    success: function (data) { alert("it worked!") } 
}); 
<script> 

Ich habe versucht, dies in Swift ohne Erfolg:

func submitNumber() { 
     let session = NSURLSession.sharedSession() 
     let url = NSURL(string: "http://website.net/api/Clients/")! 
     let request = NSMutableURLRequest(URL: url) 
     request.HTTPMethod = "POST” 
     request.allHTTPHeaderFields = ["Token" : “myKey”] 
     let requestDictionary = ["PhoneNumber": 3333333333, "SecretCode": 12345] 

     request.HTTPBody = try! NSJSONSerialization.dataWithJSONObject(requestDictionary, options: []) 

     let task = session.dataTaskWithRequest(request) { data, response, error in 

      if let httpResponse = response as? NSHTTPURLResponse { 
      let statusCode = httpResponse.statusCode 
      if (statusCode == 200) { 
       do { 
        let json = try NSJSONSerialization.JSONObjectWithData(data!, options:.AllowFragments) 

        print(json) 

        }catch { 
         print(error) 
       } 


      } else { 
       print(“failure”) 
       } 
      } 
        } 
     task.resume() 
    } 

Aber es wird immer gedruckt "Versagen", Ich habe keine Ahnung, wie man damit umgeht ...

Wie kann ich es bitte tun? Vielen Dank!

Antwort

0

Siehe meine Antwort auf this Frage. Sie haben den Inhaltstyp Ihrer Anfrage nicht so festgelegt, dass sie json akzeptiert.

+1

Wenn eine Frage ein Duplikat einer anderen Frage ist, sollten Sie sie * als doppelt markieren * anstatt eine Antwort zu posten, die nur ein Link zu der anderen Antwort ist. Vielen Dank. – Moritz

+0

Die Frage ist anders, aber die Codezeile, die er braucht, ist dieselbe. – NSGangster

+0

Die Frage als Duplikat gilt auch in diesem Fall. – Moritz