yanmai
Goto Top

Fehler in jQuery

Hallo Leute,
ich wollte Daten über jQuery an eine PHP Datei senden, aber es kommt ein Fehler. Egal wie ich die Anordnung der Klammern versuche, es ist immer falsch:

$(document).ready(function(){
								$.post("...", {  
										anzstern: starsCount,
										racap: rep,
										bew: bewertung
								}, function(result) {
									if(result == "Success") {  
										$('#Bewertung_box').slideToggle(500);  
									} else {
										alert("Error");  
									}
								});
						)};

Wo ist hier der Fehler?

Content-Key: 327107

Url: https://administrator.de/contentid/327107

Printed on: April 19, 2024 at 14:04 o'clock

Member: michi1983
michi1983 Jan 21, 2017 at 21:35:40 (UTC)
Goto Top
Hallo,

verrätst du uns auch den Fehler den du bekommst?

Gruß
Mitglied: 131381
131381 Jan 21, 2017 at 21:58:37 (UTC)
Goto Top
Letzte Zeile: Klammern vertauscht.
Member: Yanmai
Yanmai Jan 21, 2017 at 22:14:46 (UTC)
Goto Top
Jetzt bekomme ich keinen Fehler, aber in der jQuery Funktion, die die Daten sendet, wird kein Wert zurückgegeben:

function InsertRatingData() {
				alert("Hallo");  
				var stars = document.getElementsByName('rating');   
				var starsCount = 0;
				for (i = 0;i < stars.length;i++){ 
					if(stars[i].checked){ 
						var starsCount = stars[i].value; 
						var bewerung = document.getElementById("desc").value;  
						var rep = grecaptcha.getResponse();
						
						$(document).ready(function(){
								$.post("https://...com/Hallo.php", {  
										anzstern: starsCount,
										racap: rep,
										bew: bewerung
								}, function(result) {
									alert(result);
									if(result == "Success") {  
										$('#Bewertung_box').slideToggle(500);  
									} else {
										$('#Bewertung_box').slideToggle(500);  
									}
								});
						});
					} 
				} 
			}

In der function(result) müsste ja eigentlich der Wert vom Server zurückgegeben werden. Es passiert aber überhaupt nichts. Woran liegt das?
Mitglied: 131381
131381 Jan 21, 2017 updated at 22:19:13 (UTC)
Goto Top
JavaScript legt Wert auf Genauigkeit (Groß und Kleinschreibung und Schreibfehler nimmt es dir sehr übel), die scheint bei dir sehr sehr kurz zu kommen ...:-P
bew: bewerung
http://api.jquery.com/jQuery.post/
Member: Yanmai
Yanmai Jan 21, 2017 at 22:29:37 (UTC)
Goto Top
Aber wo ist da mein Fehler? Ich habe die Variable ja aber auch mit der falschen Rechtschreibung deklariert, oder?
Member: Yanmai
Yanmai Jan 21, 2017 at 23:08:59 (UTC)
Goto Top
Ich habe den Code nochmal ausgeführt, nur wenn ich den Absenden Button klicke, der den Code feuert, bekomme ich diesen Fehler:
XMLHttpRequest cannot load https://mainlysoft.com/..... No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://....' is therefore not allowed access.

Diese Version (Beta) läuft auf einer Subdomain auf dem selben Server. Aber wenn ich die URL zu der PHP Datei manuell im Browser aufrufe, bekomme ich keinen Fehler, sondern kann auf die Datei zugreifen. Wie kann ich diesen Fehler lösen?
Mitglied: 131381
131381 Jan 22, 2017 updated at 08:41:31 (UTC)
Goto Top
Zitat von @Yanmai:
XMLHttpRequest cannot load https://mainlysoft.com/..... No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://....' is therefore not allowed access.
Na dann ist mir alles klar! Schon mal was von CORS gehört?! Per Default lassen dich die Browser nur auf die selbe Domain auf der du dich befindest per XMLHTTP posten, außer die PHP Seite der fremden Domain lässt dies explizit per CORS Header zu, Stichwort SameOriginPolicy. Sehe also zu das die Subdomain den Header dazu setzt dann klappt das auch.

z.B. lässt diesr PHP-Code hier auf der Subdomain per Header an den Browser übertragen, Requests von allen anderen Seiten zu:
<?php
header("Access-Control-Allow-Origin: *");  
?>
BEACHTE: Header müssen vor jeglicher anderer Ausgabe im Quelltext gesetzt werden, da sie ansonsten schon an den Browser übermittelt worden sind!!