從jQuery AJAX帖子調用的我的.ashx Handler偶爾不會接收HttpContext.Request中的表單元素。jQuery serializeArray + ajax.post IE(僅)偶爾不會將表單元素傳遞給ashx Handler
發生這種情況時,請求只包含ViewState元素或者根本沒有元素。它僅在IE7,IE8和IE9(每個瀏覽器有幾千次點擊)的情況下偶爾出現故障。我無法使用IE自己重現這一點,「最」IE用戶(以及所有其他用戶)不會遇到此問題。
的Javascript:
var data = $('form').serializeArray();
$.ajax({
type: "POST",
async: false,
dataType: "text",
url: "handler.ashx",
data: data
});
C#(handler.ashx):
void IHttpHandler.ProcessRequest(HttpContext context) {
var collection = SetCollection(context.Request);
// collection sometimes has just ViewState elements;
// sometimes it has no items
}
private NameValueCollection SetCollection(HttpRequest request){
return request.Form;
}
其他信息:該網站是一個Web場帶有負載平衡器的一部分。使用.net 3.5。 我讀過IE瀏覽器有不同的方式來生成請求頭;不確定這是否相關。
謝謝你的任何見解來解決我的問題。
你是如何重現它的?我有幾乎相同的問題 – Ruutert
我看到使用Fiddler的請求。 – SAF