當我使用的是代理服務,讓我的客戶端的JavaScript跟一個服務上的另一個域問題使用JSON日期格式調用跨域代理
代理是一個簡單的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);
}
}
這工作得很好,直到我有客戶端通過日期。當代理嘗試調用服務時,我會收到錯誤的請求錯誤。 也就是說,如果我從json數據中刪除,"LastModified":"\/Date(-62135596800000+0000)\/"
,則調用成功。重新添加它並失敗。
如果我從同一個域名進行調用,那麼它是好的,只有當它通過代理服務器失敗時纔會發生。
我確實有這個工作,但現在已經失去了它。
在發送之前嘗試在對象上使用JSON.Parse。和JSON.Stringify,但沒有喜悅
任何人有什麼想法我失蹤?
也曾嘗試定製解析器方法本文 http://www.west-wind.com/Weblog/posts/896411.aspx
任何想法中提到?