oky*_*eni 5 iphone objective-c nsurlconnection asihttprequest ios
我使用的ASI页面提供的说明这里.我试图将一些数据发送到Web服务,但没有看到任何结果.
这是我sendRequest调用的方法viewDidLoad
-(void)sendRequest {
NSURL *url = [NSURL URLWithString:@"http://153.60.6.75:8080/BarcodePayment/transactions"];
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request addRequestHeader:@"Accept" value:@"application/json"];
[request addRequestHeader:@"Content-Type" value:@"application/json"];
NSString *dataContent = @"{\"id\":7,\"amount\":7.0,\"paid\":true}";
NSLog(@"dataContent: %@", dataContent);
[request appendPostData:[dataContent dataUsingEncoding:NSUTF8StringEncoding]];
[request setRequestMethod:@"POST"];
}
Run Code Online (Sandbox Code Playgroud)
我检查dataContent字符串,输出是
{"id":7,"amount":7.0,"paid":true}
Run Code Online (Sandbox Code Playgroud)
如果我使用终端的curl,我检查了这个命令.
curl -X POST -H 'Accept:application/json' -H 'Content-Type: application/json' http://153.60.6.75:8080/BarcodePayment/transactions/ --data '{"id":7,"amount":7.0,"paid":true}'
Run Code Online (Sandbox Code Playgroud)
我的理解是,在使用curl时,我将其设置为json,指定地址,指定与dataContent我的代码中等效的数据.什么都没发生.怎么了?
谢谢您的帮助!
除了最关键的组件(启动请求)之外,您几乎拥有了所有内容
\n\n您需要添加[request startSynchronous];同步请求或[requester startAsynchronous];异步请求(并且您可能需要委托方法来处理您返回的任何响应)
ASIHTTPRequest 如何使用指南中对此进行了很好的介绍。与此最相关的部分是“创建同步请求”和“创建异步请求”。还有一些值得思考的内容摘自该页面:
\n\n\n\n一般来说,您应该优先使用异步请求而不是同步请求。当您从主线程同步使用 ASIHTTPRequest 时,您的 application\xe2\x80\x99s 用户界面将锁定并在请求期间变得不可用。
\n
| 归档时间: |
|
| 查看次数: |
4911 次 |
| 最近记录: |