ASIFormDataRequest实现post的代码示例

Posted yuanxiaoping_21cn_com

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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];

}

以上是关于ASIFormDataRequest实现post的代码示例的主要内容,如果未能解决你的问题,请参考以下文章

怎么知道 ASIFormDataRequest 完成了?

requestFinished 方法中的 ASIFormDataRequest

ASIFormDataRequest 失败时如何打印请求字符串?

发布到服务器,将 ASIFormDataRequest 替换为 AFnetworking

ASI和AFN的区别

创建 iOS 客户端服务器应用程序。 ASIFormDataRequest 问题