2010-10-27 12 views
0

J'essaie d'envoyer un HttpRequest à partir d'une application iPhone avec quelques paramètres. La forme est comme ceci:Utiliser NSMutableURLRequest avec JSP

foo.jsp

<form action="/foo" method="post"> 
<div> 
    <input type="hidden" name="id" value="1" /> 
    <input type="hidden" name="vendidas" value="25" /> 
</div> 
<div><input type="submit" value="Send!" /></div> 
</form> 

Ainsi, dans la méthode iPhone lorsque l'utilisateur pousse un botton est:

NSString *myRequestString = @"id=3&vendidas=10"; 
NSData *myRequestData = [NSData dataWithBytes: [myRequestString UTF8String] length: [myRequestString length]]; 

NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init]; 
[request setURL:[NSURL URLWithString:@"http://localhost:8888/"]]; 
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"content-type"]; 
[request setHTTPMethod: @"POST"]; 
[request setHTTPBody: myRequestData]; 

NSError *error; 
NSURLResponse *response; 
NSData* result = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error]; 

Je suppose que le problème est de dire au POST que le l'action est "/ foo", mais ce n'est pas sûr. C'est la première fois que je fais cela et je n'ai trouvé aucune aide avec Google.

+0

Votre "question" n'est pas si claire. Vous ne spécifiez pas d'erreur, vous ne nous demandez pas quelque chose que nous pouvons répondre. Veuillez éditer votre question afin qu'il y ait quelque chose de spécifique à répondre. –

+0

Avez-vous besoin de définir un user-agent dans les en-têtes HTTP? –

Répondre

0

Vous avez répondu à votre propre question - l'URL ne contient pas de chemin vers foo.jsp. Essayez de remplacer http://localhost:8888/ par http://localhost:8888/path/to/foo.jsp.