我发现很多处理这种情况的问题,但没有一个像我一样。或者也许是我没有通过 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
}
});