2

POSTリクエストを作成しようとしていますが、何が問題になっているのか理解できないようです。サーバーから応答が返ってきましたが、メールとパスワードのペアが(サーバーによって)正しく送信/読み取られていないようで、そのようなアカウントが存在しないことを示しています。

これが関数内に含まれている私のコードです(ユーザーが私が作成した「ログイン」ボタンを押すと呼び出されます)。注:変数「email」と「password」は、私も作成した2つのテキストフィールドの値に設定されています。

NSURL *url = [NSURL URLWithString:@"http://mydomain.com/login-ipad/"];
NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url];
NSString *messageBody = [NSString stringWithFormat:@"email=%@&user_pass=%@",email,password];
NSString *msgLength = [NSString stringWithFormat:@"%d", [messageBody length]];
[theRequest addValue: @"text/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
[theRequest setHTTPMethod:@"POST"];
[theRequest addValue: msgLength forHTTPHeaderField:@"Content-Length"];
[theRequest setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Current-Type"];
[theRequest setHTTPBody:[messageBody dataUsingEncoding:NSUTF8StringEncoding]];
NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self];
if(theConnection)
{
    NSLog(@"Connection Successful");
    parent.loginButton.enabled = NO;
    receivedData = [[NSMutableData data] retain];
}
else
{
    UIAlertView *alert1 = [[[UIAlertView alloc] initWithTitle:@"Alert" message:@"There was an issue sending the data. Please check your internet connection." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil] autorelease];
    [alert1 show];
}

誰かが私の論理に何か問題があるのを見ることができますか?

4

2 に答える 2

3

「ブライアン」のおかげで、彼は私の問題を解決しました...私は私のコードを修正しました、そしてそれは今働いています。最終的なコードは次のとおりです。

NSURL *url = [NSURL URLWithString:@"http://mydomain.com/login-ipad/"];
NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url];
NSString *messageBody = [NSString stringWithFormat:@"email=%@&user_pass=%@",email,password];
NSString *msgLength = [NSString stringWithFormat:@"%d", [messageBody length]];
[theRequest setHTTPMethod:@"POST"];
[theRequest addValue: msgLength forHTTPHeaderField:@"Content-Length"];
[theRequest setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[theRequest setHTTPBody:[messageBody dataUsingEncoding:NSUTF8StringEncoding]];
NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self];
if(theConnection)
{
    NSLog(@"Connection Successful");
    parent.loginButton.enabled = NO;
    receivedData = [[NSMutableData data] retain];
}
else
{
    UIAlertView *alert1 = [[[UIAlertView alloc] initWithTitle:@"Alert" message:@"There was an issue sending the data. Please check your internet connection." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil] autorelease];
    [alert1 show];
}
于 2012-10-03T16:52:26.817 に答える
2

Current-Typeの代わりにヘッダー(AFAIKは有効なヘッダーでもありません)を追加していますContent-Type

于 2012-10-03T16:42:41.513 に答える