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]);

    }];

コードイグナイター コントローラー:

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

電話から実行すると、ログに「Username:」が表示されますが、実際のユーザー名はありません。

しかし、別のサーバーで PHP スクリプトを作成すると、次のようになります。

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

電話から実行すると、次のようになります。

"Username: my username"

したがって、iPhoneアプリがデータをPOSTしていることはわかっていますが、codeigniterコントローラーに読み取らせることができません。

AFNetworking を問題なく使用する多くの iPhone アプリを作成しましたが、codeigniter バックエンドを使用したことはないため、何が問題なのかわかりません。

CSRF 保護がオンになっていません。

どんな助けでも大歓迎です。

上記のコードはすべて、厳密にテスト目的であり、実際のメソッドではありませんが、基本的な概念は同じです。

4

1 に答える 1

1

問題は、電話の URL の https に「s」がないことでした。ウェブサイトは安全です...

于 2013-01-28T22:01:55.293 に答える