【发布时间】:2010-12-16 06:40:55
【问题描述】:
我正在尝试构建一个简单的 AJAX 脚本,该脚本使用表单将参数发送到 Tumblr API。
这是当前代码:
<body>
<script type="text/javascript">
function ajaxFunction()
{
var email = document.getElementById("email").value;
var password = document.getElementById("password").value;
var title = document.getElementById("title").value;
var body = document.getElementById("body").value;
var str = "&email=" + email + "&password=" + password + "&title=" + title + "&body=" + body;
//document.write(str);
var xmlhttp;
if (window.XMLHttpRequest)
{
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{
// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if(xmlhttp.readyState==4)
{
document.getElementById("suc").value.innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("POST","http://www.tumblr.com/api/write?generator=TumblWave&type=regular",true);
xmlhttp.send(str);
}
</script>
<form id="myForm">
Name: <input type="text" id="email" />
Password: <input type="password" id="password" />
Title: <input type="text" id="title" />
Body: <input type="text" id="body" />
<input type="submit" onclick="ajaxFunction();" />
<div id="suc"></div>
</form>
</body>
</html>
对不起,弄得一团糟。
不知何故,XMLHttpRequest 似乎没有通过,因为没有任何东西进入 Tumblr。但是,当我删除“document.write(str)”的 cmets 时,似乎所有内容都按照应有的方式从表单中获取并使用正确的命令进行打印。
您可能会注意到 xmlhttp.open 上的 URL 我已经包含了两个静态参数:生成器名称和应该发送到 Tumblr API 的帖子类型。
我在 w3schools.com 上的一个模型之后做了这个,只做了一些修改。任何帮助表示赞赏:)
【问题讨论】:
标签: javascript html xml ajax