Javascript 使用ajax发布数据
我正试图用ajax将几行文本保存在文本区域中,目标是一个经典的asp文件 在使用POST方法发送数据而不使用jQuery时,我不确定如何使用ajax,在这里也没有发现任何与此相关的问题,没有重复 Ajax功能:Javascript 使用ajax发布数据,javascript,ajax,asp-classic,Javascript,Ajax,Asp Classic,我正试图用ajax将几行文本保存在文本区域中,目标是一个经典的asp文件 在使用POST方法发送数据而不使用jQuery时,我不确定如何使用ajax,在这里也没有发现任何与此相关的问题,没有重复 Ajax功能: function saveDoc() {//disabled var xhttp = new XMLHttpRequest(); var note = document.getElementById("note"); xhttp.onreadystatechange = functio
function saveDoc() {//disabled
var xhttp = new XMLHttpRequest();
var note = document.getElementById("note");
xhttp.onreadystatechange = function() {
if (xhttp.readyState == 4 && xhttp.status == 200) {
document.getElementById("0").innerHTML = xhttp.responseText;
}
};
xhttp.open("POST", "saveNote.asp", true);
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhttp.send(note);
ASP经典:
set fs=Server.CreateObject("Scripting.FileSystemObject")
set f=fs.OpenTextFile("c:\inetasp\1.txt",8,true)
dim note
note = RequestForm("note")
f.Write(note)
f.Close
Response.Write("Works.");
set f=nothing
set fs=nothing
我知道.asp可能有很多错误,因为我找不到任何关于如何使用经典asp正确处理ajax请求的具体信息
欢迎就如何在没有jQuery的情况下实现这一点提出任何建议。我无法测试您的代码,因为我的机器上目前没有运行后端。但我可以告诉你一些事情:
- 您正在调用
xhttp.send(注意)但是你的
是一个DOM元素。它应该是一个查询字符串格式的字符串注释
- 在您的服务器端代码中,您调用RequestForm,它是您以前定义的自定义函数吗?通常的语法是Request.Form
希望它能通过将Notes变量更改为document.getElementById(“note”).value.toString()并更改Request.Form的type-o来帮助修复您指出的问题,但我仍然得到相同的HTTP错误405.0-不允许使用方法。确定。。。HTTP错误405表示此资源不允许您用于请求资源的方法。在您的情况下,无法发布到saveNote.asp。看看下面的链接,有一些东西可以尝试:xhttp.send(“note=“+note.value”);您确定您实际上正在点击saveNote.asp文件,它是否与GET请求一起工作?同时将
OpenTextFile(“c:\inetasp\1.txt”…
更改为OpenTextFile(Server.MapPath(“1.txt”)..
。原始路径中可能存在一些权限问题,而没有服务器。MapPath
,最终的权限问题仍将存在。请尝试从浏览器访问.txt;如果它引发未经授权的错误,请转到文件中的安全选项卡,然后为IUSR用户添加写入权限。