2014-03-06 32 views
0

我試圖用我的按鈕sendpost將我的textfields名字和姓氏的內容發送到我的PHP服務器。一旦我運行我的應用程序並用一些隨機文本填充我的文本字段並按發送,我收到我的服務器上的電子郵件,但沒有內容。向服務器發送請求不會發送文本字段的內容?

(void) sendAction{ 

    NSError *error = nil;  
    NSString *postparams = [NSString stringWithFormat:@"info=%@_%@",firstname.text,lastname.text]; 
    NSData * postdata = [postparams dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];  
    NSString * postlength= [NSString stringWithFormat:@"%d",[postdata length]];  
    NSMutableURLRequest *request = [[NSMutableURLRequest alloc]init]; 

    [request setURL:[NSURL URLWithString:@"http://faketest.com/test/mail.php"]];  
    [request setHTTPMethod:@"POST"];  
    [request setValue:postlength forHTTPHeaderField:@"Content-Length"];  
    [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Current-Type"];  
    [request setHTTPBody:postdata]; 

    NSData * rawdata = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:&error];  
    NSString *rawdatastring =[[NSString alloc]initWithData:rawdata encoding:NSUTF8StringEncoding];  
    NSLog(@"%@",rawdatastring); 

} 
+0

簡化,嘗試發送硬編碼數據,例如:NSString * postparams = @「Bla bla bla」;這應該排除一些事情,如果你仍然沒有得到任何東西,那麼問題在於你的帖子語法,並且比你能夠提出正確的問題並尋找正確的答案... – AntonijoDev

+0

@AntonijoDev ok thx,我剛剛用硬編碼的數據嘗試過,但仍然沒有任何反應。 – Benny

回答

0

我認爲這可能是因爲您使用的是「Current-Type」標題,而不是通常的「Content-Type」標題。嘗試以下方法,看看它是否可以解決問題:

[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"]; 
+0

感謝您的關注,但並未解決問題。 – Benny

+0

@Benny:即使使用硬編碼postparams?從哪個線程調用sendAction? –

+0

從我的按鈕: sendpost = [[UIButton alloc] initWithFrame:CGRectMake .....; sendpost addTarget:self action:@selector(sendAction)forControlEvent:UIControlEventTouchUpInside]; [self.view addSubView:sendpost]; – Benny