2016-04-29 6 views
1

Ich bin ein Anfänger, versuchen, um eine Abstimmung auf die Drupal7 Bewertungen Feld eines Knotens mit Film-Inhalte zu senden, zu programmieren. Genauso wie der Knoten einen Parameter für 'title' hat, gibt es einen Parameter für 'rating-percent' welcher Formate = "75%". Eine GET-Anfrage von JSON-Ausgabe von einer Ansicht von Knoten holt die Rating-Prozent (wie viele andere Felder).wie man Parameter (für Drupal7 Bewertungsfeld) in http POST Anfrage, in swift 2

  { 
     node =    { 
      Body = "synopsis here"; 
      "rating-percent" = "75%"; 
      Nid = 16620; 

Was füge ich an diesem Code den Datenwert (zB 75%) auf die Bewertung der Nutzer-Prozent "Parameter zu schreiben? Hier ist mein Versuch am POST:

// Send HTTP PUT Request 
let Nid = "1" 

// Define server side script URL 
let ratingscriptUrl = "https://example.com/node/" 

// Add one parameter 
let urlWithParams = ratingscriptUrl + Nid 

// Create NSURL Ibject 
let myUrl = NSURL(string: urlWithParams); 

// Create URL Request 
let request = NSMutableURLRequest(URL:myUrl!); 

// Set POST request 
request1.HTTPMethod = "POST" 

// Add parameters for 'ratings' field of node 


// Execute HTTP Request 
let task = NSURLSession.sharedSession().dataTaskWithRequest(request) { 
    data, response, error in 

// Check for error 
    if error != nil 
    { 
    print("error=\(error)") 
    return 
    } 

Vielen Dank für jede Hilfe, die Sie bitte geben können.

Antwort

0

Ich verwende SwiftyJSON hier zu meinem Wörterbuch in JSON umwandeln

let result: Dictionary<String, AnyObject> = ["Body": "synopsis", "rating-percent" : "75%"] 
let json = JSON(result).rawString() 
request.HTTPBody = json!.dataUsingEncoding(NSUTF8StringEncoding) 

Auch Sie haben:

// Set POST request 
request1.HTTPMethod = "POST" 

Aber Sie haben Ihre Anfrage request und nicht request1 nennen, aber es muss ein Tippfehler sein .

+0

Vielen Dank Manalalz. Als ich eine Anfrage schrieb, kam ein Fehler auf, den ich auf Stackexchange postete und die Antwort/Lösung war, dass es request1.HTTPMethod = "POST" sein musste. Ich bin ein Anfänger, also bin ich mir nicht sicher warum! Ich werde das versuchen. Möchte klarstellen wo im Code es hingehen soll? Ist dies der Code, den ich hier unter 'Parameter hinzufügen' einfügen soll? –

+0

Es war, weil Sie in Ihrem vorherigen Beitrag deklariert haben: 'let request1: NSMutableURLRequest = NSMutableURLRequest (URL: url) ' aber hier deklarieren Sie es als Anfrage, so muss es Anfrage sein. Für die Anfrage selbst können Sie [this] (http://stackoverflow.com/questions/31937686/how-to-make-http-post-request-with-json-body-in-swift) betrachten, es gibt Beispiele von POST-Anfrage in Swift mit Körpern, oder Sie können auch [Alamofire] (https://github.com/Alamofire/Alamofire) verwenden, kann es einfacher sein. – Chajmz

+0

Danke, ich habe es versucht. In Xcode treten keine Fehler auf, aber das Ausführen gibt auch keine Antwort. Also muss ich noch etwas vermissen. –