Vreemd probleem met Ajax?

Status
Niet open voor verdere reacties.

januswago

Gebruiker
Lid geworden
3 dec 2011
Berichten
5
Hallo allemaal,

Ik heb een vreemd probleem met een script.
Ik heb het gekregen van een Pool en bij hem werkt het perfect.
Het haalt een variabele uit een PLC op.
Maar als ik het start krijg ik alleen wat foutmeldingen?
Kan het zijn dat er verschillen zitten in de taalinstellingen, zodat het niet lukt?

Hier is het script:
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.min.js"></script> 
<script type="text/javascript"> 


var ServerName = "http://192.168.1.80/";

$(document).ready(function() {

	//alert ('Document Ready, jQuery works!');
	//if jquery fails, try... hmmm... to download the file http://code.jquery.com/jquery-1.7.min.js, store it 
	//in the same directory and replace the src with src="jquery-1.7.min.js" ????
		
	$('#Button1').click(function() {
		$.ajax({
			type: 'POST',
			url: ServerName+"READPI",
			data: {ADR: 'QX6.0', FORMAT1: "%d"},
			success: function(data){$('#Result').append(data);},
			error: function(jqXHR, textStatus, errorThrown) { alert (jqXHR.statusText+', '+textStatus+', '+errorThrown);}
		}); //End of AJAX
	});
	$('#Status').bind("ajaxSend", function() {$(this).append('Query sent, ');});
	$('#Status').bind("ajaxError", function() {$(this).append('Ajax Error, ');});
	$('#Status').bind("ajaxSuccess", function() {$(this).append('Success, ');});
	$('#Status').bind("ajaxComplete", function() {$(this).append('Ajax Finished!');});
});
</script> 
<style type="text/css">
	.Button {height: 30px; width: 300px; border: gray dotted 2px; padding: 2px;}  
 </style>
 
</head> 
<body> 
<Div id ="Button1" class="Button"> Click Me! </div> 
<Div id ="Status" class="Button">  </div> 
<Div id ="Result" class="Button">QX6.0: </div> 
</Body> 
</Html>

Heeft 1 van jullie een idee?
 
Ik ben inmiddels zover dat ik weet dat de volgende foutmelding de oorzaak is.
Origin null is not allowed by Access-Control-Allow-Origin.

Wat ik nog niet snap hoe het komt dat die Pool er geen last van heeft en hoe ik het op kan lossen.
Als dat tenminste mogelijk is??
 
Die error zie ik ook vaak langskomen als ik iets probeer met cross-domain AJAX requests. Dat lukt namelijk normaal gesproken niet, tenzij de server-kant 't toestaat.

Als het script bij die Pool wel werkt, ligt 't dus niet aan het script ;) Ik zou eens naar de code van de pagina kijken die die request behandelt: http://192.168.1.80/READAPI ;)
 
Hmm, geen idee of dat het is, maar neemt de x-origin check de poort mee? Want :8080 != :80
 
Nee met :80 werkt het ook niet, geen verbinding met PLC
Hij (de Pool) heeft nog wat getest, het werkt alleen lokaal bij hem, als hij de pagina online zet dus niet meer.
En om mij te overtuigen heeft hij er een video van gemaakt :-)
http://www.youtube.com/user/edomplc#p/a/u/0/p-au9gnLTPU

Verder zegt hij gewoon een pc te hebben die aangesloten is op een router, dus geen server of niets.
Browser die hij gebruikt is een gewone Chrome (laatste versie)
Ik blijf het een bizar iets vinden.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan