到目前爲止,我使用NSMutableURLRequest
,但我被建議改爲AFNetworking
,我已經通過AFNetworking
文檔閱讀,但我只是不明白如何使用它。ios使用AFNetworking通過POST上傳一個字符串到服務器
我的iOS應用程序中有一個字符串,當用戶觸摸按鈕UPLOAD時,我想通過POST方法上傳到服務器。
我想這就是我需要使用
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
NSDictionary *parameters = @{@"foo": @"bar"};
[manager POST:@"http://example.com/resources.json" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"JSON: %@", responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
,但我不明白這一點。我只有一個我想上傳的字符串,我沒有任何字典參數。我也不明白在哪裏寫下我的服務器的網址。我是否簡單替換http://example.com/resources.json?我的網址以.php結尾是否重要?
難道你們中的一個人可以給我解釋一下嗎?
謝謝你的時間。
更新:
其實我試着按以下的建議,但我得到了以下錯誤消息:
2014年2月10日16:06:54.662 AppName的[5264:A0B]錯誤:錯誤域= AFNetworkingErrorDomain Code = -1016「Request failed:unacceptable content-type:text/html」UserInfo = 0xc164d80 {NSErrorFailingURLKey = myURL.php,AFNetworkingOperationFailingURLResponseErrorKey = {URL:myURL.php} {status code:200,headers { Connection =「Keep -活」; 「Content-Type」=「text/html」; Date =「Mon,10 Feb 2014 16:06:54 GMT」; 「Keep-Alive」=「timeout = 10,max = 30」; Server = Apache; 「Transfer-Encoding」=身份; Vary =「Accept-Encoding」; }},NSLocalizedDescription =請求失敗:不可接受的內容類型:text/html}
我無法解析NSDictionary *參數= @ {@「foo」:@「bar」}; 第一個必須是字符串,因爲它是服務器上的php腳本所期望的。第二個是answerField.text:用戶在推送上傳按鈕之前輸入的內容
只是不明白該怎麼做。
謝謝您的回答CGRastermouse。我不知道我明白。你爲什麼說價值將是我的字符串(我的網址)? – Clararhea
很抱歉更新了我的答案。您確實需要知道您服務的上傳網址。 – GuybrushThreepwood
我知道上傳網址,這沒問題。爲什麼我需要將URL定義爲參數?我如何創建一個JSON對象?我開始瀏覽它,但他們談論了很多Java。我上面顯示的代碼是否正確使用? – Clararhea