[英]Passing a Variable with Ajax and Javascript
我拥有高级 ASP(经典)技能,但对 JavaScript 和 Ajax 还很陌生。我正在开发一个允许用户输入评论以响应帖子的页面。 我想要表单提交字段将读者评论提交到数据库,然后在不更改页面的情况下显示这些评论。 很像 Facebook 评论。 因此 Ajax 和 JavaScript。
我有 test.asp 页面(如下)工作。 它调用 AJAX.asp 页面,写入数据库,并使用提交的文本更新页面中的 a。 我唯一的问题是我需要更新一个包含多个部分的页面,所以我需要将一个变量放入第二个 JavaScript function 以允许我写入一个唯一的。 目前它被设置为 id="newcomment" 但这将需要更改为类似 id="newcomment" & var 的内容,以便结果为“newcomment1484”(或另一个唯一编号)并且右侧得到更新。
对于我的一生,我无法弄清楚如何在那一秒 function 中获取变量。非常感谢任何帮助。 请记住我对 JS 很陌生。
<html>
<head>
</head>
<script>
function SendtoAjax(ident)
{
if(window.XMLHttpRequest)
{
oRequest = new XMLHttpRequest();
}
else if(window.ActiveXObject)
{
oRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
oRequest.open("POST", "AJAX.asp", true);
oRequest.onreadystatechange = UpdateComment;
val=document.getElementById('commentfield').value.replace(/\n/g, "<br>");
oRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
oRequest.send("strCmd=availability&commentaid=" + ident + "&commentfield=" + encodeURIComponent(val));
}
function UpdateComment(ident)
{
if(oRequest.readyState == 4)
{
if(oRequest.status == 200)
{
document.getElementById("newcomment").innerHTML = oRequest.responseText;
}
else
{
document.getElementById("newcomment").innerHTML = "Asychronous Error";
}
}
}
</script>
<body>
<form method="post" action="javascript:void(0);" name="form1">
<textarea name="commentfield" id="commentfield"></textarea>
<input id="commentaid" type="hidden" value="Available1434">
<input id="submitcomment" type="button" value="submit" onClick="SendtoAjax(1434);">
<br><br><div id="newcomment"></div>
</form>
</body>
</html>
我尝试了所有在其中获取变量的方式,但后来了解到(我认为?)“onreadystatechange”和 Ajax 存在一些问题。目前超出了我的范围。
您需要传递一个formData
object,有关如何执行此操作的示例,请参阅文档。
let formData = new FormData();
// append some data (key, value)
formData.append("strCmd", "availability");
// send it with the form
oRequest.send(formData);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.