文档章节

iOS网络 POST通过JSON传数据到后台

沉恋
 沉恋
发布于 2015/02/17 16:25
字数 236
阅读 74
收藏 1

后台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
博文 148
码字总数 63031
作品 0
苏州
私信 提问
OC使用AFNetWorking框架GET方法上传参数格式不是JSON串

iOS的APP端使用AFNetWorking这个框架连接服务器, 项目约定使用GET方法传参, 现在遇到问题是:iOS传的参数要组合成“字典”放入AFNetWorking,然后用AFNetWorking开始请求, 而AFNetWorking会...

Moses_Fu
2015/10/26
1K
0
关于iOS app 后台问题

本人ios开发初学者,准备做一个ios网络app项目,然后需要后台,会一点数据库设计,这里使用的时mysql,现在已经在网上申请好了虚拟云主机,数据库,还有域名,求教一下大神们我该怎么制作后台...

妮露_爱尔法
2014/09/19
1K
2
AFNetworking是一个为 iOS 和 Mac OSX 制作的令人愉快的网络库

AFNetworking是一个为 iOS 和 Mac OSX 制作的令人愉快的网络库,它建立在URL 装载系统框架的顶层,内置在Cocoa里,扩展了强有力的高级网络抽象。它的模块架构被良好的设计,拥有丰富的功能,...

lewis-180
2015/04/02
0
0
使用Swift读取Cookie内容

前言 一个http请求中,我们经常会涉及到Get请求的URL Param,POST请求的HTTP Body,Response Json,这些都是一个标准REST API标配的元素。 在一些安全验证的API中,通常会涉及到Cookie。当用...

DragonFK
2015/07/12
0
0
iOS基础深入补完计划--NSURLSession使用详解(附Demo)

目录 前言 API Demo 前言 本文主要是把NSURLSession以及NSURLSessionTask相关的代理方法全部整理了一下。 旨在大体了解在一个iOS网络请求中、一个任务究竟经理了什么。 而我们、又能做些什么...

kirito_song
05/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Git工作原理

git跟传统的代码管理器(如svn)不同, 主要区别在于git多了个本地仓库以及缓存区,所以即使无法联网也一样能提交代码。 术语解释: 工作区间: 即我们创建的工程文件, 在编辑器可直观显示;...

Lienson
8分钟前
1
0
MySQL驱动对应Server版本、JDK版本

昨日生产上线,临时升级MySQL版本,导致连接不上。 应用JDK版本1.5 测试环境MySQL版本5.7 驱动版本5.1.40.jar 正常 生产环境MySQL版本8.0 驱动版本5.1.40.jar 连接不上 生产环境MySQL版本8.0...

zcjlq
9分钟前
5
0
千万级规模【高性能、高并发】互联网架构经验分羹

架构以及我理解中架构的本质 在开始谈我对架构本质的理解之前,先谈谈对今天技术沙龙主题的个人见解,千万级规模的网站感觉数量级是非常大的,对这个数量级我们战略上 要重 视 它 , 战术上又...

java知识分子
10分钟前
0
0
重磅!阿里巴巴工程师获得 containerd 社区席位,与社区共建云时代容器标准

重磅!阿里巴巴工程师获得 containerd 社区席位,与社区共建云时代容器标准 11 月 29 日,CNCF containerd 社区正式宣布:两位阿里巴巴工程师正式获得 containerd 社区席位,成为 containerd...

阿里云官方博客
11分钟前
0
0
你会用哪些JavaScript循环遍历

总结JavaScript中的循环遍历 定义一个数组和对象 const arr = ['a', 'b', 'c', 'd', 'e', 'f'];const obj = { a: 1, b: 2, c: 3, d: 4} for() 经常用来遍历数组元素 遍历值为数组...

peakedness丶
13分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部