我在使用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>
我的代码有问题或者这可能是服务器配置问题吗?
答案 0 :(得分:0)
您将json指定为数据格式,但您对服务器的响应不是json。如果你尝试怎么办?
Response.Write "{""myName"":""" & Request.Form("name") & """}"
你的JS现在是:
success: function(data) {
alert(data.myName);
}