AJAX Request wird nicht ausgeführt

02/09/2014 18:18 Alcazone#1
HTML Code:
<html>
	<head>
		<script src="jquery.js" type="text/javascript"></script>
	</head>

	<body>
		<input type="text" id="player_search" placeholder="enter playername">
	</body>
	
	<script>
		$('#player_search').keyup(function() {
			var str		= $(this).val();
			var url		= 'http://www.futhead.com/14/players/search/quick/?term=';

			$.ajax({ 
					type: 'GET', 
					url: url + str,
					dataType: 'json',
						success: function(data) { 
							alert("here");
						}   
			});
		});	
	</script>
</html>
Warum auch immer führt er den Ajax-Request nicht aus, ich finde keinen Fehler :/
02/10/2014 12:54 Muddy Waters#2
Also script-Tags stehen entweder im Document body oder head, nicht aber völlig außerhalb wie bei dir. Du solltest deine Daten bei Verwendung von jQuery.ajax() im Übrigen als data übergeben, dann kümmert sich jQuery darum, dass die Daten passig kodiert werden.

HTML Code:
<html>
	<head>
		<script src="jquery.js" type="text/javascript"></script>
	</head>

	<body>
		<input type="text" id="player_search" placeholder="enter playername">
		<script>
		$('#player_search').keyup(function() {
			$.ajax({ 
					type: 'GET', 
					url: 'http://www.futhead.com/14/players/search/quick/',
					data: {
						term: $(this).val()
					},
					dataType: 'json',
					success: function(data) { 
						alert("here");
					}   
			});
		});	
		</script>
	</body>
</html>
02/10/2014 21:02 Alcazone#3
Ebenfalls keinerlei Rückmeldung.
02/10/2014 22:49 Nynq#4
Ich hab das mal oldschool-mäßig in JavaScript geschrieben und es funktioniert ohne Probleme.

Code:
term = document.getElementById('player_search').value;

var xml = new XMLHttpRequest();
xml.open('GET', 'http://www.futhead.com/14/players/search/quick/?term='+term, true);
xml.onreadystatechange = function () {
    if (xml.status == 200 && xml.readyState == 4) {
        alert(xml.responseText);
    }
}

xml.send(null);
Problematisch ist wohl die AJAX-Same-Origin-Policy, d.h. alle Requests müssen der gleichen Domain angehören (gibt einige Möglichkeiten das zu umgehen). Von welcher URL wird die Seite aufgerufen? Dabei ist nämlich zu beachten:

Code:
'http://www.futhead.com/14/players/search/quick/?term='
und
Code:
'http://futhead.com/14/players/search/quick/?term='
gehören zu unterschiedlichen Subdomains.
02/11/2014 09:48 Alcazone#5
Die URL wird von 127.0.01/index.php aufgerufen.
02/11/2014 11:02 KoKsPfLaNzE#6
Damit das funktioniert muss es das selbe protokoll un der selbe host sein, du könntest das in php via get_content auch umgehen, sprich rufst dein php file auf un das php file ruft die andere domain auf un fertsch^^
02/11/2014 11:18 Nynq#7
Quote:
Originally Posted by Alcazone View Post
Die URL wird von 127.0.01/index.php aufgerufen.
Ich vermute jetzt einfach mal, dass die Webseite mit dem AJAX-Skript bei dir lokal in XAMPP oder dergleichen läuft und du von dortaus die andere Seite abrufen möchtest.
Auf diese Art wird das aus den oben beschriebenen Gründen allerdings nicht klappen. Wenn es unbedingt AJAX sein muss, dann erstell einfach eine PHP Datei die den Seiteninhalt ausliest und ruf dann diese per AJAX auf.