1
Ниже приведены кодError Domain = NSCocoaErrorDomain Code = 3840 "Операция не может быть завершена. (Cocoa ошибка 3840.)" (недопустимое значение вокруг символа 0.)
NSDictionary *post = [NSDictionary dictionaryWithObjectsAndKeys:
@"signup",@"methodName",_tfName.text,@"name",_tfNickName.text,@"nickname",
_dateOfBirth.text, @"birth_date",
@"1",@"gender",
_tfEmail.text,@"email",
_tfPassword.text,@"password",
_tfContact.text, @"mobile",
_tfCountry.text,@"country",
@"Normal",@"social_provider",
@"",@"social_accesstoken",@"3",@"sponsor_choice" ,_tfPinCode.text,@"pincode",@"",
@"fromLogin",nil];
Это фактический процесс размещения данные
NSData *postdata = [NSJSONSerialization dataWithJSONObject:post options:NSJSONWritingPrettyPrinted error:nil];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://[email protected]"]]];
[request setHTTPMethod:@"POST"];
[request setValue:@"multipart/form-data" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:postdata];
NSURLConnection *conn = [[NSURLConnection alloc]initWithRequest:request delegate:self];
if(conn)
{
NSLog(@"Connection Successful");
}
else
{
NSLog(@"Connection could not be made");
}
}
Делегаты URLConnection
- (void)connection:(NSURLConnection*)connection didReceiveResponse:(NSURLResponse *)response
{
NSLog(@"Did Receive Response %@", response);
responseData = [[NSMutableData alloc]init];
}
- (void)connection:(NSURLConnection*)connection didReceiveData:(NSData*)data
{
//NSLog(@"Did Receive Data %@", data);
[responseData appendData:data];
}
Здесь я получаю значение данных Response
- (void)connection:(NSURLConnection*)connection didFailWithError:(NSError*)error
{
NSLog(@"Did Fail");
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
NSLog(@"Did Finish");
NSError *error = nil;
NSDictionary *jsonArray = [NSJSONSerialization JSONObjectWithData:responseData options:NSJSONReadingAllowFragments error:&error];
NSLog(@"Array: %@", jsonArray);
// Do something with responseData
}
Фактически, я получаю значение jsonarray как ноль. Даже я получаю значение ответа «Данные, поступающие с сервера».
Не могли бы вы войти 'connectionDidFinishLoading:': 'NSString * ул = [[NSString Alloc] initWithData: кодирование responseData: NSUTF8StringEncoding] '? – Larme
показывает содержимое HTML –
И содержимое кажется действительным (я имею в виду, что вернувшиеся данные верны, а не в отформатированном виде, но имеют ли они смысл)? Тогда это не JSON. Если вы тестируете POSTMan (или что-то подобное), отвечает ли ваша служба JSON? – Larme