2014-09-29 4 views
1

저는 스위프트를 사용하여 사용자, 암호를 서버로 보내지 만 서버는 전자 메일을 전달할 수 없습니다.은 xcode 6 베타 5로 게시물 데이터를 보낼 수 없습니다.

플리 어스는 내가 잘못 알았습니다.

OS X 9.5 IO에서 SDK 8.0 엑스 코드 6 베타 5

스위프트 :

 //post data 
     var post:NSString = "email=\(email_merchant)&password=\(pass_merchant)&appToken=\(token_key)" 

     //url login 
     var url:NSURL=NSURL.URLWithString("http://xxx.xxx.xxx/api/sessions") 

     //add data 

     var postData:NSData=post.dataUsingEncoding(NSASCIIStringEncoding)! 

     var postLength:NSString = (String)(postData.length) 

     var request:NSMutableURLRequest=NSMutableURLRequest(URL: url) 

     request.HTTPMethod = "POST" 
     request.HTTPBody=postData 
     request.setValue(postLength, forHTTPHeaderField: "Content-Length") 
     request.setValue("application/x-www-form-urlencode", forHTTPHeaderField: "Content-Type") 
     request.setValue("application/json", forHTTPHeaderField: "Accept") 
     request.setValue("d54e952e0d0586fc48f1535883ef7008", forHTTPHeaderField: "appToken") 
     //request.H 


     var reponseError: NSError? 
     var reponse: NSURLResponse? 

     var urlData: NSData? = NSURLConnection.sendSynchronousRequest(request, returningResponse: &reponse, error: &reponseError) 

서버 번호 :

  if(empty($_POST['password'])){ 
     echo json_encode(array ("status"=> "empty pass")) ; 
     Yii::app()->end(); 
    } 

에 println (reponse)

O

ptional(<NSHTTPURLResponse: 0x7fea9acb1180> { URL: http://xxx.xxx.xxx/api/sessions } { status code: 200, headers { 
    Connection = "Keep-Alive"; 
    "Content-Encoding" = gzip; 
    "Content-Length" = 43; 
    "Content-Type" = "text/html"; 
    Date = "Mon, 29 Sep 2014 11:27:29 GMT"; 
    "Keep-Alive" = "timeout=5, max=100"; 
    Server = "Apache/2.4.7 (Ubuntu)"; 
    Vary = "Accept-Encoding"; 
    "X-Powered-By" = "PHP/5.5.9-1ubuntu4.3"; 
} }) 
{ 
    status = "emmty pass"; 
} 

감사합니다.

+0

서버 코드가 분명하지 않습니다. 여기에 서버 코드를 게시 할 수 있습니까? 어떻게 PHP에서 게시물 데이터를 검색하고 있습니까? – Athipatla

+0

예, PHP로 게시물 데이터를 가져옵니다. 나는 Yii 프레임 워크를 사용합니다. 어쩌면 문제는 신속한 코드 –

+1

에 게시 할 수 있습니까? 웹 서비스를 통해 액세스 할 때 일반 우편 변수를 사용하여 데이터에 액세스 할 수 없기 때문입니다. 당신은이'$ data = file_get_contents ("php : // input")와 같은 phpinput을 제공 할 필요가있다 : – Athipatla

답변

1

웹 서비스를 통해 액세스 할 때 일반 사후 변수를 사용하여 데이터에 액세스 할 수 없습니다. 이런 phpinput을 주어야합니다. $data = file_get_contents("php://input");

1

이 아니라 application/x-www-form-urlencoded입니다.

관련 문제