0

サーバーにデータを送信しようとしています.リクエストを送信すると、サーバーに送信されますが、サーバーは空白になります.なぜそれが起こったのかわかりません.これを解決するのを手伝ってください.

NSArray *keys = [NSArray arrayWithObjects:@"username",@"password",@"email",@"fullname",@"phone",@"status",nil];
NSArray *objects = [NSArray arrayWithObjects:@"test",@"123456",@"test999@test.com",@"name",@"234566343",@"1",nil];


NSDictionary *questionDict = [NSDictionary dictionaryWithObjects:objects forKeys:keys];

NSDictionary *jsonDict = [NSDictionary dictionaryWithDictionary:questionDict];
NSString *jsonRequest = [jsonDict JSONRepresentation];

RequestHandler *handler = [[RequestHandler alloc] init];
handler.method = @"POST";
handler.delegate = self;

   NSLog(@"JSOnRequest -- %@",jsonRequest);
handler.postData = jsonRequest;
handler.requestName = @"registration";
handler.URL =@"http://demo.keshavinfotech.com/edv/user_register.php?";

[handler startRequest];
[handler release];

- (void)startRequest 

{
 NSURL *requestURL = [NSURL URLWithString:[NSString stringWithFormat:@"%@",mRequestURL]];//NSURLRequestReturnCacheDataElseLoad

    NSMutableURLRequest* request = [NSMutableURLRequest requestWithURL:requestURL

                                                           cachePolicy:NSURLRequestReturnCacheDataElseLoad

                                                       timeoutInterval:mTimeOut];



    [request setHTTPMethod:@"POST"];

    [request setValue:@"application/json" forHTTPHeaderField:@"Accept"];

    [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];

    [request setValue:[NSString stringWithFormat:@"%d", [mPostData length]] forHTTPHeaderField:@"Content-Length"];


    [request setHTTPBody:[mPostData dataUsingEncoding:NSUTF8StringEncoding]];


    self.connection = [[[NSURLConnection alloc]initWithRequest:request delegate:self] autorelease];

}

それはサーバーのエンコード/デコードの問題ですか、それとも何か他のものですか???

4

2 に答える 2

1

次のパラメーターを使用してサーバーを呼び出します。

WebserviceCall[622:f803] {
    email = "test999@test.com";
    fullname = name;
    password = 123456;
    phone = 234566343;
    status = 1;
    username = test;
}

その後、次のように応答してください。

{"responseData":{"result":"failed","msg":"Please fill all the required fields"}}

送信する正しいパラメータ形式を教えてください。確認できます。

于 2012-08-20T06:09:29.667 に答える
0

このようにしてみてください:

//form you request like you did (I think it's ok), then

NSData *postData = jsonRequest;

NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];
NSMutableURLRequest *urlRequest = [[[NSMutableURLRequest alloc] init] autorelease];
[urlRequest setURL:@"http://demo.keshavinfotech.com/edv/user_register.php?"];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setValue:postLength forHTTPHeaderField:@"Content-Length"];
[urlRequest setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[urlRequest setValue:@"utf-8" forHTTPHeaderField:@"charset"];
[urlRequest setHTTPBody:postData];
[urlRequest setTimeoutInterval:60.0];//or whatever interval you prefer

NSURLConnection *tmpConn = [[[NSURLConnection alloc] initWithRequest:urlRequest delegate:self] autorelease];
self.connectionProperty = tmpConn;
于 2012-08-20T06:03:14.853 に答える