【发布时间】:2016-07-13 05:14:19
【问题描述】:
我有一个没有 action 属性的 asp.net 表单,提交将由 ajax 处理,如下所示。
$.ajax({
url: "home2.aspx/DoSubmit",
type: "POST",
contentType: "application/json; charset=utf-8",
data: '{x: "' + $("#x").val() + '",y: "' + $("#y").val() + '"}',
dataType: "json",
success: function (result)
{
alert("success...");
},
error: function (xhr, status) {
alert("Error", status);
}
});
return false;
});
在为 ajax 调用提供相关响应后的代码中,我想将 asp.net 页面重定向到另一个 URL(甚至是不同的域)以及我在后端拥有的其他参数。我测试了这个方法,创建了 HttpWebRequest 但不起作用。
var postData = (requestParam.ToString());
var data = Encoding.ASCII.GetBytes(postData);
HttpWebRequest request;
try
{
request = (HttpWebRequest)HttpWebRequest.Create("https:someDomain");
}
catch (UriFormatException)
{
request = null;
}
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = data.Length;
Stream postStream = request.GetRequestStream()
postStream.Write(data, 0, data.Length);
postStream.Flush();
postStream.Close();
这会导致此错误:身份验证失败,因为远程方已关闭传输流。
感谢您的帮助
【问题讨论】:
-
您在哪一行得到错误?你说你已经返回给ajax调用者了,你返回后怎么做更多的处理?