如何从 AFNETWORKING POST 获取参数
How to GET parameters from AFNETWORKING POST
如何从 Swift 中获取参数值,文件上传已经可以了,我试过 $_GET["familyId"],但是没有成功?
Swift:
let manager = AFHTTPRequestOperationManager()
let url = "http://localhost/test/upload.php"
var fileURL = NSURL.fileURLWithPath(NSBundle.mainBundle().pathForResource("test_1", ofType: "mov")!)
var params = [
"familyId":locationd,
"contentBody" : "Some body content for the test application",
"name" : "the name/title",
"typeOfContent":"photo"
]
manager.POST( url, parameters: params,
constructingBodyWithBlock: { (data: AFMultipartFormData!) in
println("")
var res = data.appendPartWithFileURL(fileURL, name: "fileToUpload", error: nil)
println("was file added properly to the body? \(res)")
},
success: { (operation: AFHTTPRequestOperation!, responseObject: AnyObject!) in
println("Yes thies was a success")
},
failure: { (operation: AFHTTPRequestOperation!, error: NSError!) in
println("We got an error here.. \(error.localizedDescription)")
})
PHP:
$target_dir = "uploads/";
$target_dir = $target_dir . basename($_FILES["fileToUpload"]["name"]);
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_dir)) {
echo json_encode([
$user_info;
"Message" => "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.",
"Status" => "OK",
]);
您面临的问题是您找错了地方。正如您所说,您正在使用 AFNetworking 的 POST 方法来 POST 数据。强调POST。 GET 和 POST 是两个完全不同的东西。 GET 用于检索存储在 url 中的值,例如 www.example.com/example-get.php?key1=value1&key2=value2
。您可以通过 $_GET['key1']
访问 PHP 中的不同值。 POST 是不同的东西。这与 HTTP 消息正文一起发送,在浏览历史记录或 url 中看不到。您可以使用 $_POST['familyId']
访问您的数据。我建议多读一点,所以我会提供 this 作为开始。
祝你好运。
您的主要问题是变量在 $_POST
中,而您正在寻找 $_GET
.
中的变量
我从代码中可以看出,数据是在请求的 post 正文中发送的。这基本上就是 jkaufman 在他的回答中所说的。
尝试一些变体:
<?php
$FamilyID = $_POST['familyId'];
// ... do stuff with it ...
?>
您可能会发现这些链接信息丰富(因为您已要求提供可靠的 and/or 官方来源)。
- What is the difference between POST and GET?
- http://php.net/manual/en/reserved.variables.post.php
- http://developer.infoconnect.com/get-vs-post-%E2%80%93-restful-primer
- http://www.w3schools.com/tags/ref_httpmethods.asp
- http://www.programmerinterview.com/index.php/general-miscellaneous/html-get-vs-post/
- http://www.diffen.com/difference/GET_%28HTTP%29_vs_POST_%28HTTP%29
- http://blog.teamtreehouse.com/the-definitive-guide-to-get-vs-post
如何从 Swift 中获取参数值,文件上传已经可以了,我试过 $_GET["familyId"],但是没有成功?
Swift:
let manager = AFHTTPRequestOperationManager()
let url = "http://localhost/test/upload.php"
var fileURL = NSURL.fileURLWithPath(NSBundle.mainBundle().pathForResource("test_1", ofType: "mov")!)
var params = [
"familyId":locationd,
"contentBody" : "Some body content for the test application",
"name" : "the name/title",
"typeOfContent":"photo"
]
manager.POST( url, parameters: params,
constructingBodyWithBlock: { (data: AFMultipartFormData!) in
println("")
var res = data.appendPartWithFileURL(fileURL, name: "fileToUpload", error: nil)
println("was file added properly to the body? \(res)")
},
success: { (operation: AFHTTPRequestOperation!, responseObject: AnyObject!) in
println("Yes thies was a success")
},
failure: { (operation: AFHTTPRequestOperation!, error: NSError!) in
println("We got an error here.. \(error.localizedDescription)")
})
PHP:
$target_dir = "uploads/";
$target_dir = $target_dir . basename($_FILES["fileToUpload"]["name"]);
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_dir)) {
echo json_encode([
$user_info;
"Message" => "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.",
"Status" => "OK",
]);
您面临的问题是您找错了地方。正如您所说,您正在使用 AFNetworking 的 POST 方法来 POST 数据。强调POST。 GET 和 POST 是两个完全不同的东西。 GET 用于检索存储在 url 中的值,例如 www.example.com/example-get.php?key1=value1&key2=value2
。您可以通过 $_GET['key1']
访问 PHP 中的不同值。 POST 是不同的东西。这与 HTTP 消息正文一起发送,在浏览历史记录或 url 中看不到。您可以使用 $_POST['familyId']
访问您的数据。我建议多读一点,所以我会提供 this 作为开始。
祝你好运。
您的主要问题是变量在 $_POST
中,而您正在寻找 $_GET
.
我从代码中可以看出,数据是在请求的 post 正文中发送的。这基本上就是 jkaufman 在他的回答中所说的。
尝试一些变体:
<?php
$FamilyID = $_POST['familyId'];
// ... do stuff with it ...
?>
您可能会发现这些链接信息丰富(因为您已要求提供可靠的 and/or 官方来源)。
- What is the difference between POST and GET?
- http://php.net/manual/en/reserved.variables.post.php
- http://developer.infoconnect.com/get-vs-post-%E2%80%93-restful-primer
- http://www.w3schools.com/tags/ref_httpmethods.asp
- http://www.programmerinterview.com/index.php/general-miscellaneous/html-get-vs-post/
- http://www.diffen.com/difference/GET_%28HTTP%29_vs_POST_%28HTTP%29
- http://blog.teamtreehouse.com/the-definitive-guide-to-get-vs-post