0

所以我在将 POST 数据发布到我的 codeigniter 控制器时遇到问题,但是如果我有一个带有 $_POST 的常规 PHP 脚本,它可以工作,这是我的代码:

iPhone方法:

NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys:

                            [username text],@"username",

                            nil];


    AFHTTPClient *client = [[AFHTTPClient alloc] initWithBaseURL:[NSURL URLWithString:@"http://www.mysite.com/"]];



    [client postPath:@"test/text_func" parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) {



        NSString *response = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];

        NSLog(@"%@",response);

    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {

        NSLog(@"%@",[error localizedDescription]);

    }];

Codeigniter 控制器:

public function test_func() {
    echo "Username: " . $this->input->post('username');
}

如果我从手机运行它,我会在日志中得到“用户名:”,没有实际用户名。

但是,如果我在单独的服务器上创建一个 PHP 脚本:

echo "Username: " . $_POST['username'];

当我从手机运行它时,我会得到这个:

"Username: my username"

所以我知道 iPhone 应用程序正在发布数据,但我无法让 codeigniter 控制器读取它。

我已经制作了许多使用 AFNetworking 没有问题的 iPhone 应用程序,但从来没有使用 codeigniter 后端,所以我不知道问题可能是什么。

我没有开启 CSRF 保护。

任何帮助将不胜感激。

以上所有代码都严格用于测试目的,虽然不是真正的方法,但具有相同的基本概念。

4

1 回答 1

1

好的,问题是我在电话网址上的 https 中缺少“s”,该网站是安全的...

于 2013-01-28T22:01:55.293 回答