Je suis très nouveau sur iOS. J'essaye d'envoyer des données par la méthode de post à PHP. En PHP, il ne peut pas prendre des données comme $_POST['data']
, mais cela prend $_GET['data']
. Mon code iOS est le suivant. Est-ce que quelqu'un peut expliquer pourquoi est-ce, il sera très utile.IOS envoi de données de méthode de poste peut accéder en php comme méthode d'obtention
0
A
Répondre
3
S'il vous plaît Télécharger ce fichier https://www.dropbox.com/s/tggf5rru7l3n53m/AFNetworking.zip?dl=0
Et fichier d'importation dans votre projet DEFINE dans #import "AFHTTPRequestOperationManager.h"
AFHTTPRequestOperationManager *manager = [[AFHTTPRequestOperationManager alloc] initWithBaseURL:[NSURL URLWithString:@"Your Url"]];
NSDictionary *parameters = @{@"emp_id":SaveID2,@"job_code":txtJobcode1.text,@"status":alertTextField.text};
AFHTTPRequestOperation *op = [manager POST:@"rest.of.url" parameters:parameters constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
} success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"Success: %@ ***** %@", operation.responseString, responseObject);
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
[responseObject valueForKey: @"data"];
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@ ***** %@", operation.responseString, error);
}];
[op start];
0
parce que vous envoyez vos données via la chaîne de requête dans l'URL
je pense cela fonctionnera si vous essayez de transmettre des données dans le corps de votre requête: [urlRequest setHTTPBody:...]
0
Les paramètres POST proviennent du corps de la requête, et non de f de la chaîne d'URL. Vous aurez besoin de:
- Appel
setHTTPBody
à la demande et de fournir la chaîne encodée URL (sans point d'interrogation, IIRC) que les données du corps - Appel
setValue:forHTTPHeaderField:
pour définir le type de contenu àapplication/x-www-form-urlencoded
- Supprimez l'appel au
[connection start]
ou utilisez leinitWithRequest:delegate:startImmediately:
afin de ne pas démarrer la connexion deux fois.
Ce dernier est un peu important. Vous pouvez obtenir des résultats étranges si vous essayez de démarrer une connexion deux fois. :-)