php无法通过Swift从Xcode程序编写器获取参数

时间:2015-06-17 10:46:39

标签: php swift

我无法从swift代码中获取参数。如果我忽略参数我可以得到返回结果。请帮忙。 THX

Swift Code:

    var url: NSURL = NSURL(string: urlPath)!
    var request = NSMutableURLRequest(URL: url)
    request.HTTPMethod = "POST"
    request.timeoutInterval = 60
    request.setValue("application/json; charset=utf-8", forHTTPHeaderField: "Content-Type")
    var searchString = ""
    var bodyData: NSString = "brandCode=BU&model=test1234"
    request.HTTPBody = bodyData.dataUsingEncoding(NSUTF8StringEncoding)
    var connection:NSURLConnection = NSURLConnection(request: request, delegate: self, startImmediately: false)!

    connection.start()

PHP代码:

    $brandCode=$_POST['brandCode'];
    $model=$_POST['model'];
    $cnx=odbc_connect('testODBC','testing','testing');
    $sql="select * from brand where brand='".$brandCode."' and model='".$model."'";
    $cur= odbc_exec($cnx, $sql);
    while($info = odbc_fetch_array($cur))
    {
        $resultArray[]=array($info); 
    }
    echo json_encode($resultArray);

2 个答案:

答案 0 :(得分:0)

尝试使用此代码

var URL: NSURL = NSURL(string: "http://example.com")
var request:NSMutableURLRequest = NSMutableURLRequest(URL:URL)
request.HTTPMethod = "POST"
var bodyData = "brandCode=BU&model=test1234"
request.HTTPBody = bodyData.dataUsingEncoding(NSUTF8StringEncoding);
NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.mainQueue()) 
{
    (response, data, error) in
    println(NSString(data: data, encoding: NSUTF8StringEncoding))
}

答案 1 :(得分:0)

我在PHP方面不是很强,但在我看来,你试图将模型值提取为URL参数,而不是从消息正文中提取。

你应该追加你的" brandCode = BU& model = test1234"字符串直接链接到您的网址:

http://myurl.php?brandCode=BU&model=test1234

或使用NSURLComponents构建URL。

向URL添加参数与在POST的正文中传输数据不同。