我有其使用PUT方法从URL默认/ isUserInternational / ID / 1和在请求体以请求应该附加isInternational = 1 web服务。
我使用下面的代码,仍然我不能让PUT请求。
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"default/isUserInternational/id/%@", @"5"]];
self.asiFormDataRequest = [[ASIFormDataRequest alloc] initWithURL:url];
[self.asiFormDataRequest setDelegate:self];
[self.asiFormDataRequest setTimeOutSeconds:REQUEST_TIMEOUT];
[self.asiFormDataRequest setPostFormat:ASIMultipartFormDataPostFormat];
[self.asiFormDataRequest setRequestMethod:@"PUT"];
[self.asiFormDataRequest addRequestHeader:@"Accept" value:@"application/json"];
[self.asiFormDataRequest addRequestHeader:@"Content-Type" value:@"application/x-www-form-urlencoded"];
//[self.asiFormDataRequest addRequestHeader:@"1" value:@"isInternational"];
//[self.asiFormDataRequest appendPostData:[@"1" dataUsingEncoding:NSUTF8StringEncoding]];
[self.asiFormDataRequest addPostValue:@"1" forKey:@"isInternational"];
[self.asiFormDataRequest startSynchronous];
如果您想通过PUT发送数据,使用appendPostData:
或appendPostDataFromFile:
。
但如果你使用appendPostData:或appendPostDataFromFile:它不会工作。另外,如果你使用它们,如文档中提到它将作为POST请求考虑。
//当您使用appendPostData默认变得POST:/ appendPostDataFromFile:/ setPostBody:
(Qazxswpoi)。
因此,进出口张贴已为我工作正确的代码,希望它可能对他人有帮助!
http://allseeing-i.com/ASIHTTPRequest/How-to-use#setting_request_headers
并记住删除行[self.asiFormDataRequest setPostFormat:ASIMultipartFormDataPostFormat];因为它使你的要求被视为一个POST。这是我的愚蠢的错误!