经典ASP没有获取AJAX POST数据

时间:2017-10-11 07:23:55

标签: jquery ajax asp-classic

我在使用Request.Form从传统ASP中的AJAX POST请求中接收数据时遇到问题。这是我最简单的代码。它什么都不返回。

第一页:

<html>
    <head>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
        <script>
            $.ajax({
                url: "test1.asp",
                type: "POST",
                contentType: "application/json; charset=utf-8",
                dataType: "plain",
                data: { name: "Hello" },
                success: function(data) {
                    alert(data);
                }
            });
        </script>
    </head>
    <body>
    </body>
</html>

第二页:(test1.asp)

<%
    Response.Write Request.Form("name")
%>

如果我使用标准HTML表单而不是AJAX调用第二页,它会毫无问题地选择它,例如:

<html>
    <body>
        <form id="thisForm" method="POST" action="test1.asp">
            <input type="hidden" name="name" value="Hello"/>
        </form>
        <script>
            document.getElementById("thisForm").submit();
        </script>
    </body>
</html>

我的代码有问题或者这可能是服务器配置问题吗?

1 个答案:

答案 0 :(得分:0)

您将json指定为数据格式,但您对服务器的响应不是json。如果你尝试怎么办?

Response.Write "{""myName"":""" & Request.Form("name") & """}"

你的JS现在是:

success: function(data) {
   alert(data.myName);
}