Php 通过数组发送数据
我想通过数组发送数据 此变送器代码:Php 通过数组发送数据,php,jquery,ajax,arrays,Php,Jquery,Ajax,Arrays,我想通过数组发送数据 此变送器代码: <script type="text/javascript"> $(function() { $(".cat_button").click(function() { var element = $(this); var test = $("#cou").val(); var test2 = $("#category2").val
<script type="text/javascript">
$(function() {
$(".cat_button").click(function() {
var element = $(this);
var test = $("#cou").val();
var test2 = $("#category2").val();
var data = [
{data:test},
{data:test2}
];
if(test=='' || test2=='.....')
{
alert("fill data");
}
else
{
$("#flash").show();
$("#flash").fadeIn(400).html('<img src="http://tiggin.com/ajax-loader.gif" align="absmiddle"> <span class="loading">Loading...</span>');
$.ajax({
type: "POST",
url: "insert2.php",
data: {data: data},
cache: false,
success: function(response){
console.log(response);
}
});
}
return false;
});
});
</script>
$(函数(){
$(“.cat_按钮”)。单击(函数(){
var元素=$(此);
var测试=$(“#cou”).val();
var test2=$(“#category2”).val();
风险值数据=[
{数据:test},
{数据:test2}
];
如果(测试=“”| |测试2=“”…)
{
警报(“填充数据”);
}
其他的
{
$(“#flash”).show();
$(“#flash”).fadeIn(400).html('Loading…');
$.ajax({
类型:“POST”,
url:“insert2.php”,
数据:{data:data},
cache:false,
成功:功能(响应){
控制台日志(响应);
}
});
}
返回false;
});
});
此代码接收:
print_r($_POST['data']); // dumps an array
$course = $_POST['data'][0]['data'];
$category = $_POST['data'][1]['data'];
$insert_new_cou = mysql_query("insert into course (name,cat_id) values ('$course','$category')") or die($insert_new_cou."<br/><br/>".mysql_error());
print_r($_POST['data']);//转储数组
$course=$_POST['data'][0]['data'];
$category=$_POST['data'][1]['data'];
$insert_new_cou=mysql_查询(“插入课程(名称、类别id)值(“$course”、“$category”))或die($insert_new_cou.”
.mysql_error());
但请显示以下错误:
无法将字符串偏移量用作数组
我认为使用Jtgson的解决方案是可行的,但我不知道如何使用它它可以通过JSON编码对象数组来实现。在
$.ajax
调用中:
...
url: "insert2.php",
data: {data: JSON.stringify(data)},
...
在PHP端,使用json\u decode()
从json字符串获取对象数组:
$data = json_decode($_POST['data']);
$course = $data[0]->data;
$category = $data[1]->data;
请正确缩进代码。这很重要。没有人想阅读未插入的代码。你不再使用谷歌翻译了!
打印什么($_POST['data'])代码>输出?还有,什么是Jtgson
?MrCode:我看到这个错误:不能使用stdClass类型的对象作为arrayAh是的,您需要在PHP中使用->
对象语法-请参阅我的编辑。非常感谢MrCode。。。。这是解决方案$data=$\u POST['data']$data2=json_decode($data,true)$课程=$data2[0]['data']$类别=$data2[1]['data'];