0

サーバーにいくつかの投稿パラメーターを渡す必要がありますが、php は $_POST の空の配列を取得します。これは私のコードです:

 NSString* user=UserNameField.stringValue;
NSString* pass=PasswordField.stringValue;
NSString* ID=IDField.stringValue;

NSURL *url = [NSURL URLWithString:ENTERANCE];
url = [NSURL URLWithString:@"http://sphere-beauty.com/test.php"];


NSMutableURLRequest *req = [NSMutableURLRequest requestWithURL:url];
NSString* post=[NSString stringWithFormat:@"uname=%@&passwd=%@&id=%@",user,pass,ID];

[req setHTTPMethod:@"POST"];
[req setHTTPBody: [post dataUsingEncoding:NSUTF8StringEncoding]];



[[browser mainFrame] loadRequest:req];

誰でも助けることができますか?

4

2 に答える 2

2

このコードは私にとっては機能し、単純な POST 要求をテスト ページに送信します。

- (void)viewDidLoad
{
    [super viewDidLoad];

    NSString *name=@"Freddy Krueger!";
    NSString *encodedName = [name urlencode];
    NSString *postString = [NSString stringWithFormat:@"name=%@", encodedName];
    NSData *data = [postString dataUsingEncoding:NSASCIIStringEncoding];

    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@"http://192.168.1.100/www/posttest.php"]];
    [request setHTTPMethod:@"POST"];
    [request setHTTPBody:data];

    [web loadRequest:request];

    // Non-ARC
    // [request release];
}

は、ここにある のカテゴリ メソッドを[name urlencode]呼び出します:文字列を URL エンコードするにはどうすればよいですかurlencodeNSString *

webは明らかに私のUIWebViewです。

パラメータを URL エンコードしていないため、コードが失敗している可能性があります。

于 2012-10-17T01:11:29.120 に答える
1
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@"www.aaa.com"]];
[request setHTTPMethod:@"POST"];
NSString *request_body = [NSString stringWithFormat:@"u=aaa&p=aaa"];
[request setHTTPBody:[request_body dataUsingEncoding:NSASCIIStringEncoding]];
NSError *error;
NSURLResponse *response;
NSData *theData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];

これは、通常、同期方法でサーバーと通信する方法です...

于 2012-07-13T17:29:55.653 に答える