我在Cloud9中創建了一個在線PHP頁面,我可以連接到MySQL數據庫並執行任何我想要的操作。我可以在不使用AFNetworking的情況下從我的iOS應用程序模擬器連接該頁面。不過,我應該使用這個庫並創建一個POST請求。 我POST請求失敗,並給出了此錯誤:iOS - 連接PHP時AFNetworking失敗頁面
Error : Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn’t be completed. (Cocoa error 3840.)" (JSON text did not start with array or object and option to allow fragments not set.) {NSDebugDescription=JSON text did not start with array or object and option to allow fragments not set.}
我的Objective-C代碼爲:
NSString *url = [URLFactory targetURL];
NSDictionary *dictionary = @{
@"key" : @"value",
};
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
[manager POST:url parameters:dictionary success:^(AFHTTPRequestOperation *operation, id responseObject)
{
NSLog(@"Response : %@",responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Here!");
NSLog(@"Error : %@",error);
}];
和PHP:
<?php
header('Content-type: application/json');
$isPostRequest = $_SERVER['REQUEST_METHOD'] == 'POST';
if ($isPostRequest) {
echo json_encode("done!");
}
?>
正如你所看到的,我不是做任何事情。我會檢查參數,但現在我只想連接。我看到「這裏!」記錄並獲取錯誤。我做錯了什麼或者有什麼缺失?我發現了一些關於這個錯誤的帖子,但他們並沒有失敗。因此我很困惑。
謝謝!
非常感謝!我認爲我的錯誤是關於Objective-c的,但是你的解決方案起作用了:)再次,謝謝你! – anyName
沒問題,樂意幫忙,接受答案關閉它。祝你好運! – dstudeba