使用AJAX的Http POST请求

时间:2012-06-29 18:12:42

标签: javascript ajax

我有一个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中可能存在的错误。

非常感谢任何帮助。

1 个答案:

答案 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
})

这也正确编码组件,以便查询字符串不会被破坏。

快乐的编码。