J'utilise un service proxy pour permettre à mon côté client javascript pour parler à un service sur un autre domaineproblème avec JSON format date lors de l'appel proxy interdomaine
Le proxy est un simple fichier ashx avec obtient simplement la demande et il transmet sur le service de l'autre domaine:
using (var sr = new System.IO.StreamReader(context.Request.InputStream))
{
requestData = sr.ReadToEnd();
}
string data = HttpUtility.UrlDecode(requestData);
using (var client = new WebClient())
{
client.BaseAddress = serviceUrl;
client.Headers.Add("Content-Type", "application/json");
response = client.UploadString(new Uri(webserviceUrl), data);
}
le client javascript appelant cette procuration ressemble à ceci
function TestMethod() {
$.ajax({
type: "POST",
url: "/custommodules/configuratorproxyservice.ashx?m=TestMethod",
contentType: "application/json; charset=utf-8",
data: JSON.parse('{"testObj":{"Name":"jo","Ref":"jones","LastModified":"\/Date(-62135596800000+0000)\/"}}'),
dataType: "json",
success: AjaxSucceeded,
error: AjaxFailed
});
function AjaxSucceeded(result) {
alert(result);
}
function AjaxFailed(result) {
alert(result.status + ' - ' + result.statusText);
}
}
cela fonctionne bien jusqu'à ce que je passer une date. À quel point j'obtiens une erreur de demande de mauvaise quand le proxy essaye d'appeler le service. C'est-à-dire, si je supprime le ,"LastModified":"\/Date(-62135596800000+0000)\/"
des données json alors l'appel réussit. Ajoutez-le à nouveau et il échoue.
Si j'appelle l'appel du même domaine, c'est correct, c'est seulement quand il passe par le proxy qu'il échoue.
Je l'ai fait fonctionner à un moment donné, mais l'ai maintenant perdu.
Avoir essayé d'utiliser JSON.Parse sur l'objet avant de l'envoyer. et JSON.Stringify, mais pas de joie
Quelqu'un at-il des idées ce que je suis manquant?
ont également essayé les méthodes d'analyseur personnalisées mentionnées dans cet article http://www.west-wind.com/Weblog/posts/896411.aspx
Toutes les idées?