Externe Seite - jquery GRID

Hallo,

ich versuche derzeit im Webfront eine externe Seite einzubinden, die eine Tabelle enthält. Dazu würde ich gerne jquery als Framework und Openjs GRID verwenden.

Nur leider werden die Daten nicht geladen. Das ganze ist zweiteilig aufgebaut, es wird eine „index.php“ erstellt, die für die Auswertung der Daten ein Script auf dem Server aufruft.

Ich habe das ganze jetzt mal unter einem Portable Webserver getestet und da funktioniert es. In IPS habe ich die php Module für mySQL eingebunden.

Hat jemand so etwas schon gemacht, und eventuell einen Tipp?
Geht so etwas überhaupt mit unserem IPS?

Ergänzung:
Ich habe unter Chrome die Entwicklertools eingeblendet. Dort sehe ich eine Fehlermeldung: XMLHttpRequest cannot load. dann der Link zur Serverdatei, und dann: cannot make any Request from null

Ich habe keine Ahnung, warum es auf einem „normalen“ Webserver geht, und unter IPS nicht. Ich kenne mich mit den Technologien leider zu wenig aus.

Vielen Dank für die Hilfe.

Gruß
Christian

Hallo,

ich füge nochmal den html und php Code bei, damit auch jemand was damit anfangen kann.

Code der index.php:


<html>
	<head>
		<link rel="stylesheet" type="text/css" href="grid.css">
		<style type="text/css">
			body {
				background:#333;
			}
		</style>	
		<script src="jquery.js"></script>
		<script src="blockui.js"></script>
		<script src="grid.js"></script>
		<script>
			$(function() {
				// grid with row numbers and inline editing
				
				$(".all").loadGrid({
					nRowsShowing:10,
					inlineEditing:true,
					stickyRows:false,
					order_by : "wdi_id",
					maxLength:true,
					adding:true,
					deleting:true,
					showRowNumbers:true,
					pagerLocation:"both",
					width:1000
				});
			});
			
		</script>
	</head>
	<body>
	

		<table class="grid all" action="ajax.php" title="WD-Incidents">
			<tr>
				<th col="wdi_id"			 	editable="text">ID</th>
				<th col="wd_nr" 				editable="text">WD</th>
				<th col="wdi_incident_text"		editable="text">Text</th>
				<th col="wdi_state"				editable="text">Status</th>
				<th col="wdi_date" 				editable="text">Datum</th>
				<th col="wdi_count" 	 	    editable="text">Anzahl</th>
				<th col="wdi_closed" 	 	    editable="text">Geschl.</th>
				<th col="last_note" 	 	    editable="text">Notiz</th>
				<th col="last_note_date"  	    editable="text">Daum</th>
			</tr>
		</table>
		
		
	</body>
</html>

Code der ajax.php:

<?php
	//lokale Datei als Log erstellen
	
	$datei = fopen("log.txt", "a");
	fwrite($datei, "Erster Eintrag");
	 
        // connect to db

	mysql_connect("localhost","icm","kennwort");
	mysql_select_db("icm");
	
	// require our class
	require_once("grid.php");
	// load our grid with a table
	$grid = new Grid("wd_incidents");
	
	// for editing check for the save flag and call save
	if(isset($_POST['save'])) {
		//$grid->security = array("n_items");
		echo $grid->save();
	} else if(isset($_POST['add'])) {
		$grid->add();
	} else if(isset($_POST['delete'])) {
		$grid->delete();
	} else if(isset($_POST['select'])) {
		// select for column txn_id
		if($_POST['col'] == "wdi_id") {
			$grid->where = "wdi_id IS NOT NULL";
			$grid->limit = 5;
			$grid->makeSelect("wdi_id","wdi_id");
			echo json_encode($grid->data);
		}	
	} else {
		$grid->load();
		echo json_encode($grid->data);
	}	
?>

Die ajax.php wird entweder gar nicht aufgerufen, oder es gibt Berechtigungsprobleme, da die Logdatei nicht erstellt wird.

Gruß
Christian

Hi Christian,

leider habe ich keinen Loesungsansatz, aber dafuer die Bestaetigung, dass ich das gleiche Problem habe, allerdings nicht mit jQery, sondern mit ExtJS. Mein Grid, das in einem Standardbrowser super aktualisiert wird, tut das nicht im Webfront - warum, weiss ich nicht.

Viele Gruesse

Adrian

Hallo Adrian,

vielen Dank für die Info, auch wenn sie mich nicht weiter bringt.
Hoffentlich kann einer aus dem HQ oder von den Web-Spezialisten etwas dazu sagen.

Gruß
Christian

Hallo,

ich habe eine Lösung gefunden. In der php.ini von IP-Symcon den Eintrag:

display_errors = Off

hinzufügen. Dann kann ich mit IE 9 und FF 7 die Daten holen und bearbeiten. Mit Chrome 7 geht es leider dann immer noch nicht.

Bei Chrome jedoch kann man die Seite über den direkten Link also //ip_symconIP/user/xxx/index.xxx aufrufen, das geht.

Warum jedoch diese Einstellung dafür verantwortlich ist, ist mir nicht klar. Hat jemand dazu eine Idee?

Gruß
Christian

Hallo,

leider war das nur eine etwas kurzsichtige Lösung, denn Chrome basiert auf Webkit, und Safari auf dem iPad leider auch. Und da lässt sich die Seite nun auch nicht anzeigen.

Wenn ich die Seite als iFrame in eine Stringvariable vom Typ ~HTMLBox einbinde funktioniert auch alles.

Hat jemand noch ein Idee, woran das Problem liegen könnte?

Gruß
Christian