11540 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous,

Dans un de mes scripts je fait un appel ajax via jQuery sur un XML qui a un problème d'encodage de caractère.

En effet, l'éperluette est laisser tel quel dans le contenu "&" alors que le caractère devrait être encoder en tant que "&".

Je fait remonter ce problème à la personne qui gère le flux, mais la correction risque de prendre du temps, et surtout, elle risque de revenir.

Bref, comment faire pour que l'appel Ajax ne fasse pas de vérification sur le contenu du fichier XML ?

J'ai tenter de mettre le dataType: "text", mais sans résultat, jQuery continue de faire la vérification de validité du flux xml.

Voici le code de l'appel ajax au cas où:

$.ajax(
	{
	type: 'GET',
	url: 'http://lienvers.mon/flux.xml',
	dataType: 'text',
	error: function(jqXHR, textStatus, errorThrown)
		{
		alert('Error');
		},
	success: function(data, textStatus, jqXHR)
		{
		var xml_content = data;
		}
	});


Voici aussi le message d'erreur du flux XML (il m'indique clairement le "&" que je retrouve plusieurs fois dans le flux):

XML Parsing Error: not well-formed
Location:  http://lienvers.mon/flux.xml
 
Line Number 786, Column 81:


Est-ce possible de surpasser les contrôles de jQuery ?

Transférer les données tels quel sur mon script php me permettrait de corriger cette erreur de flux, pour faire ensuite faire le travail d'extraction normalement.

Par avance merci de votre aide !
J'ai trouver ma réponse, il faut forcer le type mime de la requête avec ce paramètre:

mimeType: 'text/plain;charset=UTF-8'


Ce qui donne:

$.ajax(
	{
	type: 'GET',
	url: 'http://lienvers.mon/flux.xml',
	dataType: 'text',
        mimeType: 'text/plain;charset=UTF-8',
	error: function(jqXHR, textStatus, errorThrown)
		{
		alert('Error');
		},
	success: function(data, textStatus, jqXHR)
		{
		var xml_content = data;
		}
	});