所以我在将 POST 数据发布到我的代码点火器控制器时遇到问题,但是如果我有一个带有 $_POST 的常规 PHP 脚本,它可以工作,这是我的代码:
苹果手机方法:
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]);
}];
点火器控制器:
public function test_func() {
echo "Username: " . $this->input->post('username');
}
如果我从手机运行它,我将在日志中得到"用户名:",没有实际的用户名。
但是如果我在单独的服务器上使用以下命令制作 PHP 脚本:
echo "Username: " . $_POST['username'];
当我从手机运行它时,我会得到这个:
"Username: my username"
所以我知道iPhone应用程序正在发布数据,但我无法让代码点火器控制器读取它。
我已经制作了许多使用AFNetworking的iPhone应用程序,但没有问题,但从来没有使用编码点火器后端,所以我不知道问题可能是什么。
我没有 CSRF 保护。
任何帮助将不胜感激。
上面的所有代码都严格用于测试目的,虽然不是真正的方法,但具有相同的基本概念。
所以问题是我在电话网址上的https中缺少"s",该网站是安全的...