[英]Retrieving PHP JSON Array from Bundle in Swift Xcode Alamofire
[英]Swift: Get JSON array value from MYSQL using Alamofire
我正在開發一個系統項目。 如何使用Alamofire從MySQL到3 UILabel(1。nameLabel.text,2. idnumberLabel.text,3. statusLabel.text)顯示3列值。
PHP代碼xxxx.php:
if ($_GET) {
$idnumber = $_GET['idnumber'];
// get a product from products table
$stmt = $pdo->prepare("SELECT * FROM register WHERE idnumber = :idnumber");
$stmt->execute(array(":idnumber" => $idnumber));
$result = $stmt->fetch();
if (!empty($result)) {
// check for empty result
if ($stmt->rowCount() > 0) {
$user = array();
$user["name"] = $result["name"];
$user["idnumber"] = $result["idnumber"];
$user["status"] = $result["status"];
// success
$response["success"] = 1;
// user node
$response["user"] = array();
array_push($response["user"], $user);
// echoing JSON response
echo json_encode($response);
} else {
// no product found
$response["success"] = 0;
$response["error_message"] = "Not registered user";
// echo no users JSON
echo json_encode($response);
}
} else {
// no product found
$response["success"] = 0;
$response["error_message"] = "No user found";
// echo no users JSON
echo json_encode($response);
}
} else {
// required field is missing
$response["success"] = 0;
$response["error_message"] = "Required field(s) is missing";
// echoing JSON response
echo json_encode($response);
}
這是通過ID號http://localhost/xxxx.php/idnumber=查找用戶的鏈接? 我想使用的UITextField執行IDNumber中 。
JSON編碼
{"success":1,"user":[{"name":"PETER JENSEN","idnumber":"35433332","status":"PROCESS"}]}
SWIFT代碼:
@IBAction func CheckUserStatusTapped(sender: UIButton) {
var idnumber = self.idnumberTextField.text
let prefs:NSUserDefaults = NSUserDefaults.standardUserDefaults()
let parameters =
["idnumber": idnumber]
//load and parse the JSON into an array
Alamofire.request(.POST, "http://localhost/xxxx.php", parameters: parameters).responseJSON { (request, response, data, error) in
var name = jsonResult [0]["name"]
var idnumber = jsonResult [0]["idnumber"]
var status = jsonResult [0]["status"]
}
}
我試過了,但是什么也沒有,也沒有錯誤。 我不知道要向UILabel顯示此值。請幫助我:(。我很困惑。對不起我的英語不好!
如果您檢索到的data
正確,則此問題說明如何解析JSON響應。 您的代碼jsonResult
從未聲明過。
當聲明var idnumber
並將其分配給idnumberTextField.text時,您正在復制存儲在idnumberTextField.text的字符串的副本。 當您以后再為idnumber分配其他內容時,對idnumberTextField.text不會執行任何操作。 這是您將要開發的有關編程的關鍵理解。
您在響應處理程序中的idnumber聲明也遮蓋了CheckUserStatusTapped范圍內的idnumber聲明。 即使您沒有這樣做,分配給idnumber也不會更改idnumberTextField的.text屬性。
您需要修改UILabel對象本身以使其顯示其他內容。
您也不想從后台線程更新UI。 在您的響應處理程序中,您將需要像這樣將函數分派到主線程:
dispatch_async(dispatch_get_main_queue()) {
self.idnumberTextField.text = jsonResult[0]["idnumber"]
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.