将发布数据从iPhone发送到Codeigniter后端

时间:2013-01-28 19:46:56

标签: php codeigniter post afnetworking

所以我在将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保护。

非常感谢任何帮助。

以上所有代码都是严格用于测试目的,而不是真正的方法,具有相同的骨骼概念。

1 个答案:

答案 0 :(得分:1)

好的问题是我在手机网址上的https中错过了's',网站很安全......