用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];
}