所以我在将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保护。
非常感谢任何帮助。
以上所有代码都是严格用于测试目的,而不是真正的方法,具有相同的骨骼概念。
答案 0 :(得分:1)
好的问题是我在手机网址上的https中错过了's',网站很安全......