我写了以下Javascript代码:
function sendCcbRequest(text) {
var jsonToSend = "\"text\": \"" + escape(text) + "\"";
$.ajax({
type: "POST",
url: 'x.asp',
data: jsonToSend,
success: function(response) {
alert("success:" + response);
},
error: function() {
alert("error");
}
}); // end ajax
}
如何阅读我从经典ASP代码发布的数据?
更新的 我已经为我的经典asp文件x.asp尝试了以下内容。
<%
Dim x
x = Request.Form("text")
Response.Write(x)
%>
它仍然没有打印。
答案 0 :(得分:4)
使用此方法发布数据的方式(如问题中所述)并不真正在服务器端创建表单对象。因此,使用Request.BinaryRead读取发布的数据,然后使用给定here的方法之一将其转换为字符串。正如您已经注意到的,如果您使用查询字符串形式key1 = value1&amp; key2 = value2或形式为{key1:'value1',key2:'value2'}的地图发送数据,则发布的数据是有效的表单, ASP会将其转换为可以轻松读取的Request.Form。
答案 1 :(得分:3)
好的,我发现了一些有用的东西。以下代码行:
var jsonToSend = "\"text\": \"" + escape(text) + "\"";
需要更改为
var jsonToSend = { text: escape(text) };
答案 2 :(得分:0)
我会使用此处描述的解析器:Any good libraries for parsing JSON in Classic ASP?。这对我有用。
答案 3 :(得分:0)
在x.asp
页面中,只需使用:Request.Form("text")
即可阅读您的Ajax请求发布的文字。