0

我有一个已经工作了一段时间的 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 中可能出现的错误。

任何帮助是极大的赞赏。

4

1 回答 1

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

这也正确地对组件进行编码,因此查询字符串不会被损坏。

快乐编码。

于 2012-06-29T18:31:11.803 回答