Я использую sthttprequest и php для связи с веб-сервером в своих приложениях. Это пример запроса:
-(void)GetSomething:(NSString*)Username :(NSString*)Password {__block STHTTPRequest *up = [STHTTPRequest requestWithURLString:[NSString stringWithFormat:@"%@%@",PATHSERVER,@"getsomething.php"]];
up.POSTDictionary = @{@"username":Username,@"password":Password};
up.completionBlock = ^(NSDictionary *headers, NSString *body) {//my result data};
up.errorBlock = ^(NSError *error) {
NSLog(@"-error description and error code- %@", [error localizedDescription]);
};
[up startAsynchronous];
}
Когда возникает условие, я хочу вывести ошибку на своей странице php, чтобы отобразить предупреждение в блоке ошибки sthttprequest:
up.errorBlock = ^(NSError *error) {
NSLog(@"-error description and error code- %@", [error localizedDescription]);
};
Можно заставить пользовательскую ошибку кода со страницы php добиться такого поведения? Что-то вроде:
<?php echo $custom_error_code; ?>
up.errorBlock = ^(NSError *error) {
if (error.code==1300){
//this is the code i have set in php
}
};
Я не хочу уже назначенную ошибку, такую как 503500, и т. Д., Потому что я рискую показать предупреждение пользователю, когда оно не имеет смысла. Я хочу использовать ошибку блока, а не простую строку в завершение блока по практическим соображениям.
РЕДАКТИРОВАТЬ
Я нашел этот ответ здесь в stackoverflow
Можем ли мы создавать собственные коды статуса HTTP?
Таким образом, я могу создать собственный код ошибки, где номер еще не назначен, что я должен соблюдать, это номер класса 4xx или 5xx. Теперь моя проблема заключается в выводе пользовательского кода ошибки, такого как «475» со страницы php. Метод
header_status(475);
не работает для меня.
этот ответ https://stackoverflow.com/a/23190950/3057259 дайте мне правильный способ опубликовать собственный код ошибки в sthttprequest, который распознает его правильно.
Других решений пока нет …