double relativeLocation = Math.Abs(((double)panel1.Left - (double)pictureBox2.Left) / (double)pictureBox2.Width)
在我的php中,我得到了数据,如果数据是
这样的数据,我会检查它var data = $('#demoform').serialize();
var action = $('#demoform').attr('data-action');
console.log(data)
$.ajax({
type: 'POST',
url: '../include/demo.php',
dataType: "json",
data: {
data: data,
action: action
},
success: function(data) {
}
}).done(function(data) {
});
我无法发送它,当我使用$data = $_POST['data'];
if (is_array($data)) {
}else{
}
时,我可以
print_r();
但我总是在else部分结束,这意味着数据不是数组。
如果不是数组,数据的格式是什么?
答案 0 :(得分:0)
您提供的数据不是数组。它是一个键值对,可以像$ data一样访问[' task'] =' qwe'
答案 1 :(得分:0)
您需要对收到的数据使用urldecode()
。
这可能是您感兴趣的内容 -
<?php
$data = "task_date=11%2F30%2F2017+8%3A14+PM&task=qwe&task_person=qwe&task_status=0";
parse_str($data, $output);
print_r($output);
?>
结果如何 -
的 Array ( [task_date] => 11/30/2017 8:14 PM [task] => qwe [task_person] => qwe [task_status] => 0 )
强>
答案 2 :(得分:0)
在您的情况下,$_POST["data"]
是一个网址编码的查询字符串,请参阅jQuery manual:
描述:将一组表单元素编码为字符串以供提交。
首先需要parse_str()
来解析查询字符串,然后您可以对各个值使用。urldecode()
来获取原始值
修改如@ splash58所述,这些值已经过解码,请参阅parse_str()
上的手册:
注意:强>
创建的所有变量(或者如果设置了第二个参数,则返回到数组中的值)已经是urldecode()d。
所以:
// Get the array
parse_str($_POST["data"], $data);
答案 3 :(得分:0)
我看到你有一些ajax请求的问题变量。请更新您的代码,如下所示。
var data = $('#demoform').serialize();
var action = $('#demoform').attr('data-action');
console.log(data)
$.ajax({
type: 'POST',
url: action,
data: data,
success: function(data) {
}
}).done(function(data) {
});
我希望这会有所帮助。