私はiPhoneインターネットプログラミングの初心者です。ログイン画面のあるアプリを書いています。
私はASIHTTPREQUESTを使用しています。これは、ログインしたいリンクmyurl.com/index.phpです。Chromeでは、ユーザー名とパスワードを使用してシステムにログインすると、開発者コンソールからこのURLがmyurl.com/ajax/login.phpに投稿するのを確認しました。
とにかく、アプリでユーザー名とパスワードを入力した後にログインボタンをクリックすると、システムにログインしません。FAIL :1が出力されます(myurl.com/ajax/login.phpと書くと、FAIL:1が表示されます。ブラウザ。)
私の問題の詳細な説明:
「myurl.com/index.phpにログイン画面があります。Webブラウザで、ユーザー名とパスを書き込むと、myurl.com / ajax / login.phpに投稿されます(開発者コンソールから)。とにかく、 app myurl.com/index.phpをurlとして記述しましたが、リクエストすると、そのページのhtml要素がコンソールに出力されます。myurl.com/ ajax / login.phpをurlとして記述すると、FAIL:1が出力されます。コンソールで。(通常、Webブラウザでmyurl.com/ajax/login.phpと記述しましたが、FAIL:1になります)」
編集:問題を解決しました。「forKey:@」username」は「forKey:@」IDと同じである必要があり、「forKey:@」password」は「forKey:@」PWDと同じである必要があります。開発者コンソールでは、ユーザー名とパスワードがIDとPWDとして返されるためです。コメントと回答をありがとう。
これはコードです:
-(IBAction)login:(id)sender
{
NSURL *url = [[NSURL alloc] initWithString:@"https://myurl.com/index.php"];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request setTimeOutSeconds:120];
[request setPostValue:studentid.text forKey:@"username"];
[request setPostValue:starspassword.text forKey:@"password"];
[request setDelegate:self];
[request startAsynchronous];
[url release];
}
-(void) requestFinished:(ASIHTTPRequest *)request
{
NSString *responseString = [request responseString];
UIAlertView *alert= [[[UIAlertView alloc] initWithTitle:@"Success" message:@"http works"
delegate:self cancelButtonTitle:@"okay" otherButtonTitles:nil] autorelease];
[alert show];
NSLog(@"SUCCESS: %@", responseString);
//Request succeeded
}
-(void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex
{
}
-(void) requestFailed:(ASIHTTPRequest *)request
{
NSError *error = [request error];
NSLog(@"ERROR: %@", [error localizedDescription]);
UIAlertView *alert= [[[UIAlertView alloc] initWithTitle:@"fail" message:@"http fails" delegate:self cancelButtonTitle:@"okay" otherButtonTitles:nil]autorelease];
[alert show];
//Request failed
}
私の英語で申し訳ありませんが、このトピックに関するいくつかの例がありますが、私はこの問題を解決しませんでした。アドバイスありがとうございます。