すぐにポストパラメータを使って非同期呼び出しを行うために多くのことを研究しましたが、結局私は成功しましたが、 json parse関数は応答データを解析できず、jsonオブジェクトの代わりにnilを返すので、エラーをスローします。POST paramsを使ってこの非同期呼び出しを呼び出すと、何が返されないのですか?
私はブレークポイントを設定して変数をチェックしましたが、値は問題なく、非同期呼び出しは成功したようですが、戻りデータにはPHPエラーがあります。私は同じ呼び出しをシミュレートしたので、同じparamsとurlの形式はhulr.it です。戻り値はjsonトークンで、それ以外は何もありません。
そして、この:
これは、詳細には、ユーザが登録されている証明としてトークンを使用してデータを返され、コールがOKです私の非同期呼び出しのコードです:
private func callWithCompletionHandler(completed : completionAsyncCall){
asyncJson.removeAllObjects()
//Set async call params
let request = NSMutableURLRequest(URL: NSURL(string: self.url!)!)
request.HTTPMethod = "POST"
let trimmedPostParam : String = self.paramString!.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceCharacterSet())
request.HTTPBody = trimmedPostParam.dataUsingEncoding(NSUTF8StringEncoding)
let task = NSURLSession.sharedSession().dataTaskWithRequest(request) { data, response, error in
guard error == nil && data != nil else {
// check for fundamental networking error
print("error=\(error)")
return
}
if let httpStatus = response as? NSHTTPURLResponse where httpStatus.statusCode != 200 {
// check for http errors
print("statusCode should be 200, but is \(httpStatus.statusCode)")
print("response = \(response)")
}
let responseString = NSString(data: data!, encoding: NSUTF8StringEncoding)
// asyncJson = responseString!.parseJSONString! as! NSMutableArray
let result : AnyObject = responseString!.parseJSONString!
if let nsMutableResult = result as? NSMutableArray{
print("NSMutableArray")
}
if let nsDictResult = result as? NSMutableDictionary{
self.parseMutableDictionary(nsDictResult)
}
self.flag = true // true if download succeed,false otherwise
completed(success: flagAsyncCall!)
}
task.resume()
}
順番。誰も私がここで間違っていることを知っていますか?
phpに41行目にエラーがあるようです。last_nameの値を指定するはずでしたか? – Paulw11
41行目にphpコードにエラーがある場合、hurl.itから同じ呼び出しを行ったときにエラーが表示されないのはなぜですか? – user3033437
異なる入力を提供していますか? – Paulw11