我有一个Web应用程序,我已经工作了一段时间。我使用AJAX技术使用HTTP POST请求发送数据。
我正在使用这样的JavaScript:
var rdate=document.getElementById('rdate').value;
var Description=document.getElementById('description').value;
var urlstring="rdate="+rdate+"&Description="+Description;
oxhr.open("POST","http://localhost/info/php/store.php",false);
//checking for ready state change here
oxhr.send(urlstring);
但在数据库中,我看到所有内容都是空白的(没有数据,但创建了一行) urlstring不应该包含变量吗?或者JavaScript中可能存在的错误。
非常感谢任何帮助。
答案 0 :(得分:1)
解决方案(找到问题,因为人们不是物理的):使用Firebug / Fiddler2 / IE Developer Tools等工具来查看是什么真的已发送,或者甚至提出了请求。
虽然我不会声称以下是一个答案,但是上面的手工字符串构建是......痛苦而且不是很强大。这是一个有用的功能:
function encodeParams(params) {
var components = []
for (var k in params) {
if (params.hasOwnProperty(k)) {
var v = params[k]
components.push(encodeURIComponent(k) + "=" + encodeURIComponent(v))
}
}
return components.join("&")
}
用作:
var queryString = encodeParams({
admin_id: 1,
rdate: rdate,
Description: description
})
这也正确编码组件,以便查询字符串不会被破坏。
快乐的编码。