POST multipart / form-data с ASIHTTPRequest - PullRequest
0 голосов
/ 07 марта 2011

Я новичок в ASIHTTPRequest, и у меня возникла проблема с реализацией формы.На данный момент я использую следующий код внутри UIWebForm, и все работает нормально.

    NSString *body = @"\ 
    <html> \ 
    <head> \ 
    <meta http-equiv=\"Content-Type\" content=\"text/html; 
charset=iso-8859-1\"> \ 
        </head>   \ 
        <body>\ 
        <form name=\"my_form\" action=\"http://www.server.com/ar? 
ca=11_s&id=22630957\" \ 
        method=\"POST\" enctype=\"multipart/form-data\"> \ 
        <input type=\"text\" name=\"name\"  value=\"myname\"> \ 
        <input type=\"text\" name=\"email\" value=\"mym...@gmail.com\"> \ 
    <textarea name=\"body\">My message</textarea> \ 
        <input type=checkbox name=\"sendercc\" value=\"0\"> \ 
    <input type=\"submit\" name=\"send\" value=\"Send\"> \ 
        </table> \ 
        </form> \ 
        </body>\ 
        </html>"; 

(Не работающий) код, который должен заменить форму, следующий:

        ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL: 
[[[NSURL alloc] initWithString:@"http://www.server.com/ar? 
ca=11_s&id=22630957"] autorelease]]; 
        [request setResponseEncoding:NSISOLatin1StringEncoding]; 
        [request setPostFormat:ASIMultipartFormDataPostFormat]; 
        [request setPostValue:@"myname" forKey:@"name"]; 
        [request setPostValue:@"mymail@gmail.com" forKey:@"email"]; 
        [request setPostValue:@"My message" forKey:@"body"]; 
        [request setPostValue:@"0" forKey:@"sendercc"]; 
        [request startSynchronous]; 

1 Ответ

1 голос
/ 07 марта 2011

Не могли бы вы объяснить, как это не работает? Возвращаете ли вы ошибку с сервера, если проверяете request.responseString?

Возможно, вам потребуется добавить значение для кнопки отправки, например:

[request setPostValue:@"Sent" forKey:@"send"];

Если это не помогает, попробуйте использовать прокси-сервер, например CharlesProxy , чтобы захватить как рабочий запрос из браузера, так и нерабочий запрос iphone, и сравнить их на предмет любых различий.

...