You are not logged in.

  • Login

1

Saturday, April 23rd 2011, 1:01pm

JQuery Response Text

Hallo,

habe ein Problem: Ich schicke etwas ab (via Ajax/JQuery)

JavaScript Code

1
2
3
4
var response = $.ajax({
							  url: "galerie.php?NO_DESIGN=true&rename="+oldname+"&newname="+name,
							  async: false
							 }).responseText;

Will response nutzen und nur den Text ausgegeben bekommen. Jedoch liefert mir response.text() auch gewisse Teile aus dem Header.
Die Seite, die geladen wird, sieht so aus:

HTML Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<!DOCTYPE html>
<html lang="de">
	<head>
		<meta charset="ISO-8859-15">
		<title>Controll Area</title>
		<!-- The below script Makes IE understand the new html5 tags are there and applies our CSS to it -->
		<!--[if IE]>

		  <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
		<![endif]-->
		<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
		<style type="text/css" media="all">@import "./src/stylesheet.css";</style>
		<style type="text/css" media="all">@import "./src/form.css";</style>
		<style type="text/css" media="all">@import "./src/table.css";</style>
			</head>
	<body>	foobar</body></html>


Er gibt mir halt die CSS-Imports und den Titel der Seite aus.
Stehe gerade voll auf dem Schlauch und verstehe nicht, warum es mit text() nicht funktioniert. An "foobar" möchte ich ran.

2

Saturday, April 23rd 2011, 4:22pm

Hi bastey,
du erhältst bestimmt die import Anweisungen? Diese sind nicht in HTML Kommentaren, werden von jQuery also als normaler Textinhalt interpretiert.

Einfacher Test:

JavaScript Code

1
$('<style type="text/css" media="all">@import "./src/table.css";</style>').text();


Ergebnis:
@import "./src/table.css";

3

Saturday, April 23rd 2011, 7:44pm

Genau das ist mein Problem.
Bringt JQuery eine Funktion mit, die mir nur den Body-Text ausgibt oder muss ich über Pattern selber aktiv werden? Wenn JQuery nämlich schon ein Mittel gegen mein Problem bereitstellt, wäre es ja nur unsinnig, mit Pattern etwas zu versuchen.

4

Saturday, April 23rd 2011, 11:13pm

Hm, nein, ich glaube nicht, dass es dafür eine Methode gibt.
Aber wenn du die Antwort in ein jquery Element überführst, kannst du möglich direkt body durchsuchen.

ungetestet

JavaScript Code

1
$(responseText).find('body').text()

5

Tuesday, April 26th 2011, 1:23pm

Okay, hätte gedacht dass eine solche Funktion implementiert wurde. Die Lösung mit find funktioniert jedenfalls. Besten Dank.

Social bookmarks