json swift ios — отправка параметров в php-sql

Здравствуйте! Я пытаюсь отправить пару параметров из приложения SWIFT IOS в базу данных PHP-SQL с помощью JSON. Пробовал несколько примеров и Sycronus и Asyncronus, но я не получаю его на работу.

Продолжайте беспокоиться о преобразовании строки параметра JSON в формат, который будет получен на другой стороне .. (при попытке в браузере это будет работать .. но не из самого приложения)

Вот код — от PLAYGROUND
(Ответ API Response: НЕОБЯЗАТЕЛЬНО (отсутствует JSON)

// Playground - noun: a place where people can play

import UIKit
import CoreLocation
var str = "Hello, playground debug use of JSON and PHP"import Foundationlet url = NSURL(string:"http://mywebserver-replaced.no/POSITION/update.php?")
let cachePolicy = NSURLRequestCachePolicy.ReloadIgnoringLocalCacheData
var request = NSMutableURLRequest(URL: url!, cachePolicy: cachePolicy, timeoutInterval: 2.0)
request.HTTPMethod = "POST"
// set Content-Type in HTTP header
let boundaryConstant = "----------V2ymHFg03esomerandomstuffhbqgZCaKO6jy";
let contentType = "multipart/form-data; boundary=" + boundaryConstant
NSURLProtocol.setProperty(contentType, forKey: "Content-Type", inRequest: request)

// set data
var dataString = " "dataString = "json={\"FBID\":10,\"Driving\":1,\"Latitude\":\"68.123\",\"Longitude\":\"22.124\",\"Time\":\"18:24\",\"Date\":\"07.10.2014\",\"Heading\":90}"let requestBodyData = (dataString as NSString).dataUsingEncoding(NSUTF8StringEncoding)
request.HTTPBody = requestBodyData

println("\(requestBodyData)")  // This will print "Optional(<6a736f6e...and so on..
// And except the optional it is quite correct.. json={

request.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")

// set content length
// NSURLProtocol.setProperty(requestBodyData.length, forKey: "Content-Length", inRequest: request)

var response: NSURLResponse? = nil
var error: NSError? = nil
let reply = NSURLConnection.sendSynchronousRequest(request, returningResponse:&response, error:&error)

let results = NSString(data:reply!, encoding:NSUTF8StringEncoding)
println("API Response: \(results)")

Что я ошибаюсь?

0

Решение

Вы устанавливаете неправильный тип контента

request.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")

должно быть

request.setValue("application/json", forHTTPHeaderField: "Content-Type")

А также

dataString = "json={\"FBID\":10,\"Driving\":1,\"Latitude\":\"68.123\",\"Longitude\":\"22.124\",\"Time\":\"18:24\",\"Date\":\"07.10.2014\",\"Heading\":90}"

Удалите json =, что делает тело недопустимым json.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]