我正在尝试将数据从我的iOS应用程序发送到PHP脚本。我有标题,描述和城市。我希望它始终保存我从iOS应用程序发送给它的每个信息,并且每次发送数据时都会创建一个新信息。我遇到的问题是,当我在浏览器上访问PHP文件时,没有任何显示。标题,说明和城市字段始终为空白。但在我的Xcode控制台中,我看到它正确返回所有内容。这是我的快速代码。
func postToServerFunction() {
var url: NSURL = NSURL(string: "http://vittletest.netii.net/index.php")!
var request:NSMutableURLRequest = NSMutableURLRequest(URL:url)
request.HTTPMethod = "POST"
let postString = "title=testing&description=hello&city=RanchoCordova"
request.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding)
let task = NSURLSession.sharedSession().dataTaskWithRequest(request) {
data, response, error in
if error != nil {
println("error=\(error)")
return
}
println("response = \(response)")
let responseString = NSString(data: data, encoding: NSUTF8StringEncoding)
println("responseString = \(responseString)")
}
task.resume()
}
这是我的PHP文件。
<?php
$something = "Some Info";
echo $something;
$title = $_POST['title'];
$description = $_POST['description'];
$city = $_POST['city'];
echo "<br />";
echo "Title: ". $title;
echo "<br />";
echo "Description: ". $description;
echo "<br />";
echo "City: ". $city;
?>
这是我在Xcode上的控制台输出。
2015-01-03 10:05:50.861 VittleTest[616:28516] Warning: A long-running operation is being executed on the main thread.
Break on warnBlockingOperationOnMainThread() to debug.
response = <NSHTTPURLResponse: 0x7f9f5ae5e3f0> { URL: http://vittletest.netii.net/index.php } { status code: 200, headers {
Connection = close;
"Content-Length" = 309;
"Content-Type" = "text/html";
Date = "Sat, 03 Jan 2015 18:05:52 GMT";
Server = Apache;
"X-Powered-By" = "PHP/5.2.17";
} }
responseString = Optional(<html>
<head>
<title>PHP Test</title>
</head>
<body>
Some Info<br />Title: testing<br />Description: hello<br />City: RanchoCordova
</body>
</html>
<!-- Hosting24 Analytics Code -->
<script type="text/javascript" src="http://stats.hosting24.com/count.php"></script>
<!-- End Of Analytics Code -->
)
我希望我给了你们足够的信息来帮助我,因为我似乎无法弄明白,因为我不是最好用PHP。
答案 0 :(得分:0)
如果您通过浏览器查看脚本而不是那些脚本,因为它将是一个没有帖子值的单独浏览器请求。
如果要保留数据,则需要找到使用数据库或某些文件存储该数据的方法。
答案 1 :(得分:0)
原因是......从快速开始,你正在通过邮政救护车。
let postString = "title=testing&description=hello&city=RanchoCordova"
但是当您直接在浏览器中点击网址时,您不会发布这些参数。这就是为什么他们是空白的