C# 如何在Java脚本中通过window.location.href访问从HttpWebRequest流发送的数据
我对网络编程比较陌生。 我有一个windows窗体,试图通过ajax和java脚本与web服务通信。 我的表格有以下代码C# 如何在Java脚本中通过window.location.href访问从HttpWebRequest流发送的数据,c#,javascript,ajax,web-services,C#,Javascript,Ajax,Web Services,我对网络编程比较陌生。 我有一个windows窗体,试图通过ajax和java脚本与web服务通信。 我的表格有以下代码 string sURL = <<URL>>; HttpWebRequest request = (HttpWebRequest) HttpWebRequest.Create(sURL); //Modify request properties request.Method = "POST
string sURL = <<URL>>;
HttpWebRequest request = (HttpWebRequest) HttpWebRequest.Create(sURL);
//Modify request properties
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.AllowAutoRedirect = false;
request.AllowWriteStreamBuffering = false;
string sRequestData = JsonConvert.SerializeObject(new GetSessionInfo() { UserName = "xxxxxx", Database = "xxxxxx", Module = "xxxxxx" }.ToString());
StreamWriter sWriter = new StreamWriter(request.GetRequestStream());
sWriter.Write(sRequestData);
sWriter.Close();
try
{
//Extract the response
HttpWebResponse response = request.GetResponse() as HttpWebResponse;
if (response == null)
return false;
StreamReader responcestream = new StreamReader(response.GetResponseStream());
string ResponseData = responcestream.ReadToEnd();
responcestream.Close();
return true;
}
catch
{
throw;
}
目前,我能够通过浏览器硬编码参数来调用web服务方法。但是,当我尝试通过windows窗体执行此操作时,它总是返回我(405)方法,这是不允许的。
有人能帮我回答以下问题吗
- 这能实现吗?如果是的话,你能提供一个实现 这个
- 这是由于web服务设置问题造成的吗?如果是,你怎么办 我修好了吗李>
- 有其他的方法吗?举个例子 很棒
非常感谢你的帮助 从你的问题中没有什么是清楚的。你说的是Windows窗体,但没有为其提供任何代码。很抱歉,上面的代码块是从Windows窗体中的按钮单击事件代码中提取出来的。完整代码太大、太混乱,无法放入。405只是表示POST/GET错误。如果服务是由您开发的,那么只需将web引用添加到WinForm应用程序中,并使用由add reference生成的代理类。谢谢您的回答,但在这种情况下,我们不能简单地添加web引用。Web服务是在.NET framework 4.5上开发的,而UI项目是在.NET framework 4.0上开发的。这就是为什么我们尝试远程访问表单的原因。如果您使用的是basicHttpBinding,那么即使该服务是在比您的客户端项目更高的版本中开发的,您也可以添加引用
function Session()
{
$.ajax({
type: "POST",
url: "/ProcessRequestFromEasyOrder",
data : JSON.stringify({ user:"****", Database:"****", module:"****"}),
contentType: "application/json; charset=utf-8",
dataType: "application/json",
async: true,
cache: false,
cors: true,
success:function(data){
alert(data);
}
});
}