iOS网络 POST通过JSON传数据到后台
博客专区 > 沉恋 的博客 > 博客详情
iOS网络 POST通过JSON传数据到后台
沉恋 发表于3年前
iOS网络 POST通过JSON传数据到后台
  • 发表于 3年前
  • 阅读 70
  • 收藏 1
  • 点赞 0
  • 评论 0

【腾讯云】如何购买服务器最划算?>>>   

后台php脚本代码

<?php 
header('Content-Type:text/plain;charset=utf-8');

$json = file_get_contents('php://input');
// 反序列化JSON
$obj = json_decode($json, TRUE ); 

// 打印对象明细信息
print_r(json_encode($obj));
    
?>



iOS上的代码如下

//
//  ViewController.m
//  POST 通过JSON传数据
//
//  Created by chen on 15/2/17.
//  Copyright (c) 2015年 lanrw. All rights reserved.
//

#import "ViewController.h"
#import "Person.h"

@interface ViewController ()

@property (nonatomic,strong) Person *person;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
}

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    [self postJson];
}

- (void)postJson
{
    NSURL *url = [NSURL URLWithString:@"http://localhost/post/postjson.php"];
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:1 timeoutInterval:15];
    request.HTTPMethod = @"post";
    // 自定义字典
    NSDictionary *dict = @{@"name":@"bbb",@"age":@(11)};
    // 字典转模型
    self.person = [Person personWithDict:dict];
    // 模型转字典 --- 取其中一个键值
    NSDictionary *dict1 = [self.person dictionaryWithValuesForKeys:@[@"age"]];
    // 序列化
    NSData *data = [NSJSONSerialization dataWithJSONObject:dict1 options:0 error:NULL];
    request.HTTPBody = data;
    [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
        id res = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
        NSLog(@"%@",res);
    }];
}

@end
测试的话可以去掉字典转模型的步骤,直接传字典进行序列化的

http://pan.baidu.com/s/1dDCOcKD


共有 人打赏支持
粉丝 9
博文 55
码字总数 63031
×
沉恋
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: