如何通过Java Script中的window.location.href访问从HttpWebRequest Stream发送的数据

时间:2013-10-10 04:40:57

标签: c# javascript ajax web-services

我对网络编程比较陌生。 我有一个Windows窗体试图通过ajax和java脚本与Web服务进行通信。 我的表单有以下代码,

        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;
        }

我的index.html文件如下所示

        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);
                }
            });
        }

目前,我可以通过浏览器硬编码参数来调用Web服务方法。但是,当我尝试通过我的窗体表格时,它总是返回我(405)方法不允许。 有人可以帮我回答以下问题,

  • 这可以实现吗?如果是这样,你能提供一个实现的例子 此?
  • 是否是由于网络服务设置问题?如果是这样的话 我修好了吗?
  • 有没有其他方法可以做到这一点?一个例子 很棒

我在.NET 4.5上 非常感谢你的帮助!

0 个答案:

没有答案