1

アプリでログインをテストしています。これは、ページのソース コードです。

    <label for="login">Username:</label><br/>
    <input id="login"  name="login"/><br/>              
    <label for="password">Password:</label><br/>
    <input id="password" name="password" type="password"/><br/>
    <input type="SUBMIT" class="tasto" value="Conferma" name="evn_conferma=evento"/>

私はこれを試しました:

ASIFormDataRequest * request2 = [ASIFormDataRequest requestWithURL:url];
[request2 setPostValue:@"USERNAME" forKey:@"login"];
[request2 setPostValue:@"PASSWORD" forKey:@"password"];


#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_4_0
   [request2 setShouldContinueWhenAppEntersBackground:YES];
#endif

[request2 setDelegate:self];
[request2 setDidFailSelector:@selector(uploadFailed:)];
[request2 setDidFinishSelector:@selector(uploadFinished:)];
[request2 startSynchronous];

しかし、何もロードされていません。お願い助けて!

編集: ボタン Conferma について何かが必要だと思います。

- (void)uploadFinished:(ASIHTTPRequest *)theRequest
{

NSString *responseString = [theRequest responseString]; 
NSLog(@"%@",responseString); 
NSLog(@"Finished uploading %llu bytes of data",[theRequest postLength]);

}

この最後の方法について、文字列を入れると

[request2 setPostValue:@"Conferma" forKey:@"evn_conferma=evento"];

アップロードされた 0 バイトを見ました!!!

4

1 に答える 1

0

修正ではないと思いますが、変更する必要があります

[request2 startSynchronous];

[request2 startAsynchronous];

デリゲートを自分自身にフックしているので、非同期にする必要があります

以下も追加

[request2 setPostValue:@"Conferma" forKey:@"evn_conferma=evento"];
于 2012-06-01T21:43:42.667 に答える