从iOS发送请求到php web服务

I have a question relating to sending a POST request from an iOS app to a web service written in php, that will ultimately query a MySQL database.

tldr: How do I view the contents of the POST variables directly in the browser window, without refreshing?

Long version:

I had written my Swift code in Xcode, with NSURLSession, request, data etc.

I had a php web page set to var_dump($_POST); so that I could check that the data was sent in correctly (my data was a hard-coded string in Xcode for testing purposes).

I couldn't for the life of me figure out why I kept getting empty POST variables, until I decided to add a test query statement to my web page binding the POST variable. Lo and behold, the query ran successfully and my table updated.

I now realise that the reason I thought the POST variable was empty was because I was refreshing the web page in order to see the results of my var_dump. I now also know that this was deleting the POST data, because when I repeated this action with the query statement, my table was getting NULL rows.

My question is how do I view the contents of the POST variables directly in the browser window, without refreshing? I know this must be a real noob goose chase I've led myself on... but I am a noob.

Thank you

You would need to modify the service itself to output those values in some way. If this is strictly for debugging, you are better off having the service write out to a log file instead. If this is part of the requesting applications call and the data needs to be displayed to the user, the service should probably return either an XML or JSON string response that your application can parse. Otherwise, you can use Fiddler to monitor your web traffic.

Of course overtime you refresh the page you just get an empty variable. This is what I used to test if my code was working:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    // Override point for customization after application launch.
    testPost() // this function will test that the code is sending the variable to your server
    return true
}

func testPost() {

    let variableToPost = "someVariable"

    let myUrl = NSURL(string: "http://www.yourserver.com/api/v1.0/post.php")
    let request = NSMutableURLRequest(URL: myUrl!)
    request.HTTPMethod = "POST"
    let postString = "variable=\(variableToPost)"
    request.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: true)
    let task = NSURLSession.sharedSession().dataTaskWithRequest(request)
        { data, response, error in

            if error != nil {

                print(error)
                return

            }

            do{

                let json = try NSJSONSerialization.JSONObjectWithData(data!, options: .MutableContainers) as? NSDictionary


                if let parseJSON = json{


                    let result = parseJSON["status"] as? String
                    let message = parseJSON["message"] as? String


                    if result == "Success"{

                        //this should return your variable

                        print(message)


                    }else{

                        // print the message if it failed ie. Missing required field
                        print(message)

                    }

                }//if parse

            }  catch let error as NSError {
                print("error in registering: \(error)")


            } //catch

    }

    task.resume()
}

then your php file will only check if there is no empty post and return the variable as JSON: post.php

<?php
$postValue = htmlentities($_POST["variable"]);

 if(empty($postValue))
 {
 $returnValue["status"] = "error";
 $returnValue["message"] = "Missing required field";
 echo json_encode($returnValue);
 return;
 } else {

 $returnValue["status"] = "success";
 $returnValue["message"] = "your post value is ".$postValue."";
 echo json_encode($returnValue);
 }