我有一个Swift脚本,它现在的目的是首先向PHP文件发送一个JSON字符串;第二,返回发送到XCODE控制台中解析的php脚本的值;第三个返回下面的值之一。但是,我的字符串返回的值以''u201C开头,以''u201d结尾。
有人能告诉我吗?首先,为什么要这样做,其次,如何解决?
override func viewDidLoad() {
super.viewDidLoad()
let myUrl = NSURL(string: "http://localhost/phpPost/demo.php");
let request = NSMutableURLRequest(URL: myUrl!);
request.HTTPMethod = "POST";
let postString = "firstName=James&lastName=Bond";
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)")
// Print out response body
let responseString = NSString(data: data, encoding: NSUTF8StringEncoding)
println("****response data='(responseString)")
//Let’s convert response sent from a server side script to a NSDictionary object:
var err: NSError?
var myJSON = NSJSONSerialization.JSONObjectWithData(data, options: .MutableLeaves, error:&err) as? NSDictionary
if let parseJSON = myJSON {
var firstNameValue = parseJSON["firstName"] as? String
println("firstName: '(firstNameValue)")
}
}
task.resume()
此外,这里还有PHP:
<?php
$firstName= $_REQUEST["firstName"];
$lastName = $_REQUEST["lastName"];// Store values in an array
$returnValue = array(“firstName”=>$firstName, “lastName”=>$lastName);
// Send back request in JSON format
echo json_encode($returnValue);
?>
以下是返回的内容:
****response data=可选({"''u201cfirstName''u201d":"James","''u201classtName''u201":"Bond"})firstName:nil
仔细查看您在这里发布的内容。将PHP中$returnValue
中的引号与前面两行的引号进行比较。您使用的是大引号,而不是简单的双引号。
您有:
$returnValue = array(“firstName” => $firstName, “lastName” => $lastName);
您想要:
$returnValue = array("firstName" => $firstName, "lastName" => $lastName);