我面临的问题是 webClient.UploadData 方法从 ajax 请求立即触发了两次。但是当从 aspx 页面调用时,相同的 webClient.UploadData 方法只会触发一次。从日志中我可以看到发送的两个请求的时间完全相同.. 2016-06-23 05:54:48.477
以下是代码片段 -
var DTO = JSON.stringify({Date: date, Month: month, AgeRange: ageRange, MethodName: "Enroll" });
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "/mypath/TasksHandler.ashx",
data: DTO,
async: true,
success: function(result) {
......
}
TasksHander 将调用以下方法 -
using (var client = new WebClient())
{
client.Headers[HttpRequestHeader.ContentType] = "application/json";
client.Headers[HttpRequestHeader.Accept] = "application/json";
var data = Encoding.UTF8.GetBytes(dataInput);
byte[] result = client.UploadData(url, "POST", data);
output = Encoding.UTF8.GetString(result, 0, result.Length);
}
我的猜测是这可能是由于在 ajax 调用中将 async 属性设置为 true 所致?如果对此有任何想法,请告知。