2016-10-22 1 views
0

Ich habe eine API aufgerufen, um das Produkt in den Warenkorb hinzuzufügen. Und in Button-Aktion mache ich das api calling.I benötigen einige besondere Parameter senden .Aber Api, wenn ich Postbote Code .Seine viele Fehler werfen verwenden in meinem Code:post api ruft in swift, um die Parameter zu senden

func addtocartapicalling() 
{ 


    let headers = [ 
     "cache-control": "no-cache", 
     "postman-token": "4c933910-0da0-b199-257b-28fb0b5a89ec" 
    ] 

    let postData = NSData(data: "{ 
     "cartType" : "1", 
     "cartDetails" : { 
     "customerID" : "u", 
     "cartAmount" : "6999", 
     "cartShipping" : "1", 
     "cartTax1" : "69", 
     "cartTax2" : "", 
     "cartTax3" : "", 
     "cartCouponCode" : "", 
     "cartCouponAmount" : "", 
     "cartPaymentMethod" : "", 
     "cartProductItems" : { 
     "productID" : "9", 
     "productPrice" : "6999", 
     "productQuantity" : "1" 
     } 
    } 
}".dataUsingEncoding(NSUTF8StringEncoding)!) 

var request = NSMutableURLRequest(URL: NSURL(string: "http://api.php")!, 
            cachePolicy: .UseProtocolCachePolicy, 
            timeoutInterval: 10.0) 
request.HTTPMethod = "POST" 
request.allHTTPHeaderFields = headers 
request.HTTPBody = postData 

let session = NSURLSession.sharedSession() 
let dataTask = session.dataTaskWithRequest(request, completionHandler: { (data, response, error) -> Void in 
    if (error != nil) { 
     println(error) 
    } else { 
     let httpResponse = response as? NSHTTPURLResponse 
     println(httpResponse) 
    } 
}) 

dataTask.resume() 
} 

enter image description here

Meine über code, gibt es irgendwelche api calling.Bitte helfen Sie mir aus.

Dank

let string = "{\"cartType" : "1" + "cartDetails" : { "customerID" : "u", + "cartAmount" : "6999", + "cartShipping" : "1", + "cartTax1" : "69", + "cartTax2" : "", + "cartTax3" : "", + "cartCouponCode" : "", + "cartCouponAmount" : "", + "cartPaymentMethod" : "",} + "cartProductItems" : { "productID" : "9", + "productPrice" : "6999", + "productQuantity" : "1" }" }" 

Antwort

1

Sie können nicht nur Code kopieren von woanders und erwarten, dass es auf magische Weise arbeiten. Das Hauptproblem ist, dass Sie eine literale Zeichenfolge in Swift nicht über mehrere Zeilen teilen können. Entweder in eine Zeile setzen oder mehrere Literalstrings über Multiline zusammenfügen. Zum Beispiel ...

let string = "{ \"cartProductItems\" : " + 
     "{\"productID\" : \"9\"," + 
     "\"productPrice\" : \"6999\"}}" 

let postData = NSData(data: string.data(using: .utf8)!) 

Sobald Sie diese die meisten Ihrer anderen Fehler behoben, sollten Sie, indem Sie auf den Fehler selbst und Xcode zu beheben in der Lage, Gegenstände beheben für Sie NSURLSession has been renamed URLSession

+0

Ich habe versucht zu schreiben wie deine Lösung.Aber noch ein Fehler in dieser Zeile.Wie fragt mich, ob ich Kommas hinzufügen soll, so – mack

+0

Das ist nicht genug Informationen für mich, um Ihnen zu helfen. Sie müssen Ihre Antwort mit Ihrem neuen Code aktualisieren. – Frankie

+0

Bitte überprüfen Sie meine Aktualisierung – mack

Verwandte Themen