无法使用xcode 6 beta 5发送post数据
我用Swift将用户、密码发送到服务器,但服务器无法接收电子邮件,无法传递 请让我知道,我错在哪里 OS X 9.5、iOS SDK 8.0、Xcode 6 beta 5 斯威夫特:无法使用xcode 6 beta 5发送post数据,xcode,swift,xcode6,nsmutableurlrequest,Xcode,Swift,Xcode6,Nsmutableurlrequest,我用Swift将用户、密码发送到服务器,但服务器无法接收电子邮件,无法传递 请让我知道,我错在哪里 OS X 9.5、iOS SDK 8.0、Xcode 6 beta 5 斯威夫特: //post data var post:NSString = "email=\(email_merchant)&password=\(pass_merchant)&appToken=\(token_key)" //url login
//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(响应)
O
optional({URL:http://xxx.xxx.xxx/api/sessions }{状态代码:200,标题{
连接=“保持活动”;
“内容编码”=gzip;
“内容长度”=43;
“内容类型”=“文本/html”;
日期=“2014年9月29日星期一11:27:29 GMT”;
“保持活动”=“超时=5,最大=100”;
Server=“Apache/2.4.7(Ubuntu)”;
Vary=“接受编码”;
“X-Powered-By”=“PHP/5.5.9-1ubuntu4.3”;
} })
{
status=“艾美奖”;
}
谢谢。当您通过Web服务访问数据时,您无法使用普通post变量访问数据。您需要像下面这样使用phpinput给出
$data=file\u get\u contents(“php://input");代码>是应用程序/x-www-form-urlencoded
,而不是应用程序/x-www-form-urlencode
您的服务器代码不清楚。你能在这里发布你的服务器代码吗?您是如何在php中检索post数据的?是的,我在php中检索post数据。我使用Yii框架。也许问题出在swift codec你能发布代码吗?因为当您通过Web服务访问时,无法使用普通post变量访问数据。您需要像下面这样使用phpinput给出$data=file\u get\u contents(“php://input");代码>@Athipatla:你救了我,非常感谢
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";
}