0

这是我的第一次尝试,我正面临错误

Expected status code in (200-299), got 404

我正在关注本教程>链接

我已经创建了下面的类:

TalkToNetwork.h

#import "AFHTTPClient.h"
#import "AFNetworking.h"

typedef void (^JSONResponseBlock)(NSDictionary* json);

@interface TalkToNetwork : AFHTTPClient

@property (strong, nonatomic) NSDictionary* user;

-(BOOL)isAuthorized;

-(void)commandWithParams:(NSMutableDictionary*)params onCompletion:(JSONResponseBlock)completionBlock;

+(TalkToNetwork*)sharedInst;

@end

TalkToNetwork.m

    #import "TalkToNetwork.h"

//the web location of the service
#define kAPIHost @"http://localhost/"
#define kAPIPath @"Test/"

@implementation TalkToNetwork

@synthesize user;

+(TalkToNetwork*)sharedInst{

    static TalkToNetwork *sharedInstance = nil;
    static dispatch_once_t oncePredicate;
    dispatch_once(&oncePredicate, ^{
        sharedInstance = [[self alloc] initWithBaseURL:[NSURL URLWithString:kAPIHost]];

    });

    return sharedInstance;
}

-(BOOL)isAuthorized{

    return [[user objectForKey:@"IdUser"] intValue] > 0;
}

-(void)commandWithParams:(NSMutableDictionary*)params onCompletion:(JSONResponseBlock)completionBlock{

    NSMutableURLRequest *apiRequest =
    [self multipartFormRequestWithMethod:@"POST"
                                    path:kAPIPath
                              parameters:params
               constructingBodyWithBlock: ^(id <AFMultipartFormData>formData) {
               }];

    AFJSONRequestOperation* operation = [[AFJSONRequestOperation alloc] initWithRequest: apiRequest];
    [operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
        //success!
        printf("success");
        completionBlock(responseObject);
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        //failure :(
        printf("failure");
        completionBlock([NSDictionary dictionaryWithObject:[error localizedDescription] forKey:@"error"]);
    }];

    [operation start];
}


-(TalkToNetwork*)init{

    self = [super init];

    if (self != nil) {
        user = nil;

        [self registerHTTPOperationClass:[AFJSONRequestOperation class]];

        [self setDefaultHeader:@"Accept" value:@"application/json"];
    }

    return self;
}

@end

我已经下载并安装了 XAMPP 作为教程建议,运行所有三个控件(Apache、MySQL、FTP),并且我已经使用phpmyadmin它来手动创建数据库和表(“登录”)。

我正在按照教程中的每个步骤进行操作,但仍然出现上述错误。此外,我手动将链接传递给浏览器“http://localhost/Test/”并收到错误 404。我在这里缺少什么?

提前致谢。

4

1 回答 1

0

您传入的 URL 无效。在浏览器中检查 URL ..

  1. 检查 Apache 是否运行在http//localhost/or http://172.0.0.1/or ..http://localhost:8080/
  2. 检查 PHP 是否运行良好http://localhost/test/index.php
  3. ...

UPD

来自教程:

“解压后的 ZIP 应该包含几个 PHP 文件和一个名为“upload”的文件夹。主要 API 文件是 index.php”

... 然后.. ”

将 Finder 中的文件复制到您的网络文件夹”

...

“如果您有任何设置,而不是从本地计算机调用 API,则必须更改域和路径”

也许..你必须尝试http://localhost/xampp/test/

UPD2

错误 403 访问被禁止:

1 a) 在 Finder 中选择测试文件夹 b) 选择“显示信息” c) 在“所有权和权限”下检查您是否具有读\写权限

2 检查\修改您的 httpd.conf 从“拒绝所有人”到“订购允许”和“所有人允许” -就像这里

于 2012-11-27T10:19:09.650 回答