我在我的应用程序中使用 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
}
};
我不想要一个已经分配的错误,比如 503,500 等......因为当它没有意义时,我冒着向用户显示警报的风险。出于实际原因,我想在 completionBlock 中使用块错误而不是简单的字符串。
编辑
我在 stackoverflow 中找到了这个答案 我们可以创建自定义 HTTP 状态代码吗?
所以我可以创建尚未分配数字的自定义错误代码,我必须尊重的是类号 4xx 或 5xx。现在我的问题是从 php 页面输出自定义错误代码,如“475”。方法
header_status(475);
不适合我。