使用 php(和同名参数)检索当前 URL 中的 json 参数


Retrieve json parameters in current URL with php (and same name parameters)

我发现很多处理这种情况的问题,但没有一个像我一样。或者也许是我没有通过 ajax 发送正确的参数?

这个问题是该问题的以下内容

这是 ajax 代码

$('.valide').unbind().click(function (e) {
  e.preventDefault();
  var recupChoices= $('tr').map(function() {
    var $row = $(this);
    return {
        idenR: $row.data('id'),
        duree: $row.find($("select[name='chooseDuration']")).val()
    };
  }).get();
  choices = (JSON.stringify(recupChoices));
  $.ajax({
    type : "GET",
    url  : "ajax/order.php",
    dataType: "JSON",
    data : choices ,
    success: function(data) {
      // Show success or fail messages
    }
  });
});

我想我已经选择了标准值和第一个 id,我选择了 GET 方法来查看 URL 参数。通过 AJAX 发送的此 URL 将是:

http://[sitename]/ajax/order.php?[{%22idenR%22:1,%22duree%22:%221%22},{%22idenR%22:2,%22duree%22:%221%22}]

从那里开始,我犯了一个错误吗?

然后我根本无法按文件顺序获取参数.php。我试图这样做:

$currentURL= $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$data = file_get_contents($currentURL);
var_dump(data);
// But it return "null"

无法获得参数,或者我之前错了...但是在哪里?

我发现了我的错误。如果您遇到这种情况,请记住,您必须在发送的数据中添加参数。我错误地认为我已经在发送参数,而它们已经使用 JSON 编码。

在我的示例中,您只需在 AJAX 请求中添加一个名称(此处为"datas"),data : {datas : choice}

这是工作代码

$.ajax({
  type : "GET",
  url  : "ajax/order.php",
  dataType: "JSON",
  data : {datas : choices} ,
  success: function(data) {
    // Show success or fail messages
  }
});