【问题标题】:Send the POST variable in ajax request在 ajax 请求中发送 POST 变量
【发布时间】:2014-05-09 21:02:24
【问题描述】:

我有以下 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 发布的值

【问题讨论】:

  • 为什么不发送变量参数?
  • 对不起,我试过了。但没有成功。我认为问题出在 php 中?我正在使用 $_POST['params'];去那里取

标签: javascript php ajax xmlhttprequest


【解决方案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); 

【讨论】:

  • 是的,我改变了,这是我在 php 中使用的 $data = file_get_contents("php://input");回声 $data;
【解决方案2】:
    $.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);
    }
});

【讨论】:

    【解决方案3】:

    xhr.setRequestHeader("内容类型","application/x-www-form-urlencoded"); xhr.send(参数); 您可能必须将这些行添加到您的 js sn-p

    【讨论】:

      猜你喜欢
      • 2014-01-30
      • 1970-01-01
      • 2016-08-09
      • 2019-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-22
      • 1970-01-01
      相关资源
      最近更新 更多