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 回答