ASIFormDataRequest实现post的代码示例

用jquery实现的Post方法可能如下

var param = $.param({
data: JSON.stringify({"from":"234","messageid":"32132123","to":"234","conversationid":"4123456","timestamp":1459000790138,"type":1,"content":"ew","imageurl":""})
});
$http({
url: MAIN_HOST_URL + '/chat/createmessage',
method: "POST",
data: param,
headers: {'Content-Type': 'application/x-www-form-urlencoded'}
}).then(function (response) {
var data = response.data,
status = response.status,
header = response.header,
config = response.config; //console.log(JSON.stringify(data)); if (status == 200) { }
$ionicLoading.show({template: data.m, noBackdrop: true, duration: 2000}); scope.$broadcast('scroll.refreshComplete');
}, function (response) {
//console.log("error: " + JSON.stringify(response));
var data = response.data,
status = response.status,
header = response.header,
config = response.config; //JSON.stringify(
scope.$broadcast('scroll.refreshComplete');
}); 相同的代码,可以转换到ios里,使用ASIFormDataRequest实现,代码如下:

.xx.h

@interface ChatViewController : UIViewController<ASIHTTPRequestDelegate> {

}

xx.m

- (void) postMessage {

NSString *s = [NSString stringWithFormat:@"http://%@/chat/createmessage", site_url];

ASIFormDataRequest *request = [[ASIFormDataRequest alloc] initWithURL:[NSURL URLWithString:s]];

NSString *datas = @"{\"from\":\"234\",\"messageid\":\"32132123\",\"to\":\"234\",\"conversationid\":\"4123456\",\"timestamp\":1459000790138,\"type\":1,\"content\":\"ew\",\"imageurl\":\"\"}";

{

NSError *error;

//[request addRequestHeader:@"Content-Type" value:@"application/x-www-form-urlencoded; encoding=utf-8"];

//[request addRequestHeader:@"Accept" value:@"application/json"];

//[request setRequestMethod:@"POST"];

//[request setPostBody:tempJsonData];

[request setPostValue:datas forKey:@"data"];

[request startAsynchronous];

}

}

- (void)requestFinished:(ASIHTTPRequest *)request

{

}

- (void)requestFailed:(ASIHTTPRequest *)request

{

NSError *error = [request error];

}

上一篇:C#开源大全--汇总(转)


下一篇:HTML5——JSON的方法实现对象copy