के साथ पोस्ट करें जब मैं अपने सर्वर पर अपने एपीआई को एक POST अनुरोध भेजने का प्रयास करता हूं, तो मुझे कई समस्याएं होती हैं, लेकिन मैंने अभी भी काम नहीं किया है। मुझे पता है कि मेरी समस्या पोस्ट अनुरोध के साथ है लेकिन मैं इसे हल नहीं कर सकता! तो यह स्विफ्ट में मेरी कोड और php में मेरी एपीआई है: (और हाँ मैं असली आईडी के आधार पर xxxx मेरी कोड में बदल दिया है)तेजी से और एपीआई
सर्वर सारांश में अनुरोध प्राप्त होता है और उदाहरण के लिए अगर मैं स्वयं एक में प्रवेश छद्म यह काम करता है, यह वास्तव में POST पद्धति है जो काम नहीं करता है .. सर्वर पोस्ट पैरामीटर
स्विफ्ट कोड प्राप्त नहीं होता है:
var request = NSMutableURLRequest(URL: NSURL(string: "http://localhost:8888/academy/test.php")!)
var session = NSURLSession.sharedSession()
request.HTTPMethod = "POST"
var params = ["pseudo":"test"] as Dictionary<String, String>
var err: NSError?
request.HTTPBody = NSJSONSerialization.dataWithJSONObject(params, options: nil, error: &err)
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.addValue("application/json", forHTTPHeaderField: "Accept")
var task = session.dataTaskWithRequest(request, completionHandler: {data, response, error -> Void in
println("Response: \(response)")
var strData = NSString(data: data, encoding: NSUTF8StringEncoding)
println("Body: \(strData)")
var err: NSError?
var json = NSJSONSerialization.JSONObjectWithData(data, options: .MutableLeaves, error: &err) as? NSDictionary
// Did the JSONObjectWithData constructor return an error? If so, log the error to the console
if(err != nil) {
println(err!.localizedDescription)
let jsonStr = NSString(data: data, encoding: NSUTF8StringEncoding)
println("Error could not parse JSON: '\(jsonStr)'")
}
else {
// The JSONObjectWithData constructor didn't return an error. But, we should still
// check and make sure that json has a value using optional binding.
if let parseJSON = json {
// Okay, the parsedJSON is here, let's get the value for 'success' out of it
var success = parseJSON["success"] as? Int
println("Succes: \(success)")
}
else {
// Woa, okay the json object was nil, something went worng. Maybe the server isn't running?
let jsonStr = NSString(data: data, encoding: NSUTF8StringEncoding)
println("Error could not parse JSON: \(jsonStr)")
}
}
})
task.resume()*/
पीएचपी कोड:
$BDD_hote = 'xxxxx';
$BDD_bd = 'xxxxx';
$BDD_utilisateur = 'xxxxx';
$BDD_mot_passe = 'xxxxx';
try{
$bdd = new PDO('mysql:host='.$BDD_hote.';dbname='.$BDD_bd, $BDD_utilisateur, $BDD_mot_passe);
$bdd->exec("SET CHARACTER SET utf8");
$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
}
catch(PDOException $e){
echo 'Erreur : '.$e->getMessage();
echo 'N° : '.$e->getCode();
}
$pseudo = addslashes($_POST["pseudo"]);
$req = $bdd->query("SELECT * from users WHERE pseudo='$pseudo'");
$resultArray = array();
$donnees = $req->fetch();
echo json_encode($donnees);
अग्रिम धन्यवाद :)
कृपया "काम नहीं करता" का थोड़ा और विवरण दें? शुरुआत से और आगे बढ़ने से, कौन सा कदम आपको अपेक्षित परिणाम नहीं देता है। क्या सर्वर को अनुरोध बिल्कुल प्राप्त नहीं हुआ? – kcome
तो सर्वर अनुरोध प्राप्त करता है और उदाहरण के लिए यदि मैं मैन्युअल रूप से एक छद्म दर्ज करता हूं तो यह काम करता है, यह वास्तव में पोस्ट विधि है जो काम नहीं करता .. सर्वर को POST पैरामीटर – sebasthug
प्राप्त नहीं होता है, वैसे, मामूली बिंदु, लेकिन देखें ['addSlashes' दस्तावेज़] (http://php.net/manual/en/function.addslashes.php) जो सलाह देता है कि आप [' mysqli_real_escape_string'] (http://php.net/manual/en/mysqli का उपयोग करें .real-escape-string.php), इसके बजाए। – Rob