Я использую прокси-сервис, чтобы разрешить моему клиентскому javascript общаться со службой в другом домене
Прокси-файл - это простой Ashx-файл, который просто получает запрос и перенаправляет его в службу в другом домене:
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);
}
Клиентский javascript, вызывающий этот прокси, выглядит следующим образом
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);
}
}
Это прекрасно работает, пока мне не нужно пройти свидание. В этот момент я получаю ошибку Bad Request, когда прокси-сервер пытается вызвать службу.
То есть, если я удалю ,"LastModified":"\/Date(-62135596800000+0000)\/"
из данных json, то вызов будет успешным. Добавьте его обратно, и он потерпит неудачу.
Если я делаю вызов из того же домена, это нормально, но только когда он проходит через прокси, он терпит неудачу.
В какой-то момент это работало, но сейчас я его потерял.
Попытался использовать JSON.Parse для объекта перед отправкой. и JSON.Stringify, но не радость
У кого-нибудь есть идеи, что мне не хватает?
также пробовал настраиваемые методы парсера, упомянутые в этой статье
1021 ** -wind.com / Weblog / сообщения / * 896411.aspx 1022 ** * 1023
Есть идеи?