我发现很多问题都在处理这种情况,但没有一个像我一样。或者也许是因为我没有通过ajax发送正确的参数?
这个问题是以下of that issue
这是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}]
从那以后,我犯了一个错误?
然后我根本无法获取文件order.php中的参数。我试着这样做:
$currentURL= $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$data = file_get_contents($currentURL);
var_dump(data);
// But it return "null"
我无法获得参数,或者之前我错了......但是在哪里?
答案 0 :(得分:0)
我发现了我的错误。如果您遇到过这种情况,请记住您必须在发送的数据中添加参数。我错误地认为我已经在发送参数,而他们已经使用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
}
});