在ajax请求中发送POST变量

时间:2014-03-30 15:46:18

标签: javascript php ajax xmlhttprequest

我有以下ajax,我试图将dataString作为参数发布到php文件。 我已经尝试将dataString置于xhr.send(dataString);内。但它没有成功。有什么办法吗?

dataString = txCryptData;
var xhr = new XMLHttpRequest();
var params="data="+dataString;
xhr.onreadystatechange = function() {
 if (xhr.readyState == 4) {
       alert(xhr.responseText);
     }
}
xhr.open('POST', 'tokenize.php', true);
xhr.send();  

在php中我尝试了$ _POST [' params'];获取ajax req发布的值

3 个答案:

答案 0 :(得分:1)

在PHP中使用它来获取使用ajax发送的字符串:

$data = file_get_contents("php://input");

在JS中:

dataString = txCryptData;
var xhr = new XMLHttpRequest();
var params="data="+dataString;
xhr.onreadystatechange = function() {
 if (xhr.readyState == 4 && xhr.status==200) {
       alert(xhr.responseText);
     }
}
xhr.open('POST', 'tokenize.php', true);
xhr.send(params); 

答案 1 :(得分:1)

    $.ajax({
    type: 'POST',
    // make sure you respect the same origin policy with this url:
    url: 'youUrl',
    data: { 
        'Joo': 'bar', 
        'ca$libri': 'no$libri' //  $ sign in the parameter name seems unusual, I would avoid it
    },
    success: function(msg){
        alert('Value' + msg);
    }
});

答案 2 :(得分:0)

xhr.setRequestHeader( “内容类型”, “应用程序/ x WWW的形式进行了urlencoded”); xhr.send(PARAMS); 您可能需要将这些行添加到js片段