DreamGamer
Lieutenant
- Registriert
- Feb. 2017
- Beiträge
- 543
Hallo, ich brauche mal wieder Hilfe nehme aktuell an einer Coding Challenge teil wie schon im letzten Post erwähnt^^ Und meine Zeit wird knapp und ich finde den Fehler einfach nicht. Ich habe ein php und ein Javascript Script bei php function über ajax per JSON eine "GET" abfrage (POST) und in PHP wird von der Datenbank per POST daten etwas abgefragt und halt an Javascript zurück gegeben. Dafür habe ich dieses folgende PHP Skript was auch normal ohne POST Daten problemlos funktioniert:
Wie gesagt dies funktioniert und ich finde dort auch keinen Fehler. In Javascript habe ich ajax am laufen per POST dies sieht so aus:
Sobald ich die url zu einem anderen PHP script ändert kommt der Fehler außerdem nichtmehr... Der Fehler sieht außerdem wiefolgt aus:
(jqXHR)Unknown Error: [object Object]
(textStatus)Unknown Error: parsererror
(errorMessage)Unknown Error: SyntaxError: Unexpected token < in JSON at position 0
Leider finde ich aber nichts zu dem Syntax Fehler und weiß nicht was gemeint ist... bei der JSON ausgabe ist kein "<" vorhanden. Weiß einer wofür der Fehler steht? Freue mich über jede Hilfe weil ich halt unter Zeitdruck stehe ^^
MFG DreamGamer
Und sorry das der Code so unübersichtlich aussieht normal sieht der nicht so aus^^ Wer den CODE in normal sehen möchte hier sieht er normal aus: https://hastebin.com/exoluciyop.js
PHP:
<?php
header('Content-Type: application/json');
if($_SERVER["REQUEST_METHOD"] == "POST") {
require("config.php");
$javascriptResultArray = array();
if (isset($_POST["answer1"]) && isset($_POST["answer2"]) && isset($_POST["answer3"]) && isset($_POST["answer4"]) && isset($_POST["answer5"]) && isset($_POST["answer6"])) {
$answer1 = $_POST["answer1"]; // yes or no
$answer2 = $_POST["answer2"]; // age
$answer3 = $_POST["answer3"]; // time
$answer4 = $_POST["answer4"]; // weather
$answer5 = $_POST["answer5"]; // efort
$answer6 = $_POST["answer6"]; // categories
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
$javascriptResultArray["error"] = "Error: No MySQL connection!";
} else {
if ($answer4 == "3") {
$sql = "SELECT DISTINCT name FROM freetimeactivities WHERE effort='" . $answer5 . "' AND time='" . $answer3 . "' AND category='" . $answer6 . "' HAVING SUM(minAge) <= " . $answer2;
$result = $conn->query($sql);
} else {
$sql = "SELECT DISTINCT name FROM freetimeactivities WHERE effort='" . $answer5 . "' AND time='" . $answer3 . "' AND category='" . $answer6 . "' AND weather='" . $answer4 . "' HAVING SUM(minAge) <= " . $answer2;
}
if ($result->num_rows > 0) {
$resultsNames = array();
while($row = $result->fetch_assoc()) {
array_push($resultsNames, $row["name"]);
}
$string = implode(",", $resultsNames);
$javascriptResultArray["result"] = $string;
} else {
$javascriptResultArray["noActivity"] = true;
}
}
} else {
$javascriptResultArray["error"] = "Missing POST datas!";
}
echo json_encode($javascriptResultArray);
}
?>
Wie gesagt dies funktioniert und ich finde dort auch keinen Fehler. In Javascript habe ich ajax am laufen per POST dies sieht so aus:
Code:
$.ajax({
type: "POST",
url: 'php/getResult.php',
dataType: 'json',
data: {
answer1: answers["1"],
answer2: answers["2"],
answer3: answers["3"],
answer4: answers["4"],
answer5: answers["5"],
answer6: answers["6"]
},
success: function (obj, textstatus) {
if ( !("error" in obj) && !("noActivity" in obj)) {
console.log("Namen: " + obj.result);
} else if ("noActivity" in obj) {
addMessage(botName, obj.noActivity);
} else {
console.log(obj.error);
}
},
error: function(jqXHR, textStatus, errorMessage) {
console.log("(jqXHR)Unknown Error: " + jqXHR);
console.log("(textStatus)Unknown Error: " + textStatus);
console.log("(errorMessage)Unknown Error: " + errorMessage);
}
});
Sobald ich die url zu einem anderen PHP script ändert kommt der Fehler außerdem nichtmehr... Der Fehler sieht außerdem wiefolgt aus:
(jqXHR)Unknown Error: [object Object]
(textStatus)Unknown Error: parsererror
(errorMessage)Unknown Error: SyntaxError: Unexpected token < in JSON at position 0
Leider finde ich aber nichts zu dem Syntax Fehler und weiß nicht was gemeint ist... bei der JSON ausgabe ist kein "<" vorhanden. Weiß einer wofür der Fehler steht? Freue mich über jede Hilfe weil ich halt unter Zeitdruck stehe ^^
MFG DreamGamer
Und sorry das der Code so unübersichtlich aussieht normal sieht der nicht so aus^^ Wer den CODE in normal sehen möchte hier sieht er normal aus: https://hastebin.com/exoluciyop.js