Я полный новичок в концепции серверного сервера, подключенного к приложению iOS, но подумал, что должен знать еще об этом. Я создал функцию ниже с помощью некоторых обучающих программ в Интернете. Однако, когда это выполняется, я продолжаю получать сообщение об ошибке (500, хотя, если я тестирую один и тот же URL с моим webapp, он работает). Кто-нибудь знает, что вызывает это?NSMutableUrlRequest продолжает терпеть неудачу
- (void)loadNinjas {
NSURLRequest *request = [NSURLRequest requestWithURL:
[NSURL URLWithString:@"http://www.load.com/ninjas"]];
NSMutableURLRequest *mutableRequest = [request mutableCopy];
[mutableRequest addValue:_xAuthToken forHTTPHeaderField:@"X-Auth-Token"];
request = [mutableRequest copy];
[[NSURLConnection alloc] initWithRequest:request delegate:self];
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
operation.responseSerializer = [AFJSONResponseSerializer serializer];
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
NSArray *jsonArray = (NSArray *)responseObject;
NSMutableArray *tempNinjas = [[NSMutableArray alloc] init];
for (NSDictionary *dic in jsonArray) {
Ninja *ninja = [[Ninja alloc] initWithDictionary:dic];
[tempNinjas addObject:ninja];
}
self.ninjas = [[NSArray alloc] initWithArray:tempNinjas];
tempNinjas = nil;
[self.tableView reloadData];
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Error Retrieving Services"
message:[error localizedDescription]
delegate:nil
cancelButtonTitle:@"Ok"
otherButtonTitles:nil];
[alertView show];
}];
[operation start];
}
И это пример JSON, выбирающий:
{
"data" : [
{
"name" : "test1",
"text" : "test1test1"
},
{
"name" : "test2",
"text" : "test2test2",
},
{
"name" : "test3",
"text" : "test3test3",
}
]
}
Запрос идет на маршрут Laravel:
Route::group(['before' => 'auth.token'], function()
{
Route::resource('ninjas', 'ApiController');
});
И это функция вызывается:
public function index()
{
$payload = Request::header('X-Auth-Token');
$check = AuthToken::validate($payload);
$userid = $check['id'];
$ninjas = DB::table('ninjas')
->where('userid','=', $userid)
->get();
return $this->respond([
'data' => $this->NinjasTransformer->transformCollection($ninjas)
]);
}
Не может ли это быть JSON? Я добавил его к вопросу. – user4114789
Нет, это что-то еще, вероятно, результат того, как формируется запрос. Но мы не знаем, как должен выглядеть запрос для вашего конкретного сервера, поэтому нам трудно сказать. – Rob
Я добавил код с сервера на мой вопрос, так как я начинаю отчаянно пытаться решить эту проблему. – user4114789