2012-06-29 132 views
0

我有一个Web应用程序,我一直在工作一段时间。我使用AJAX技术使用HTTP POST请求发送数据。使用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

那么,*是否*?使用Firebug/Fiddler/IE Developer Tools等工具查看*真正发送的内容。 (我希望从给出的代码中自己得到一个语法错误,但是......) – 2012-06-29 18:15:45

+3

'var urlstring =“admin_id =”rdate =“+ rdate +”&Description =“+说明;'是无效的JavaScript。引号和运算符不够' – apsillers

+0

我修改了我的问题对不起,该字符串中没有admin_id –

回答

1

解决方案(以找到这个问题,因为人不是物理):使用工具如Firebug/Fiddler2/IE开发者工具,或其他,看看有什么真的发送,或者如果请求甚至提出。

虽然我不会声称以下是一个答案,上述手动字符串建立在帖子中是...痛苦的,不是很健壮。这里是一个小有用的功能:

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

这也正常编码的组件,以便查询字符串不会成为corruptued。

快乐编码。

+0

FirePHP确实帮助我解决了我的问题谢谢大家。 –