我想通过数组发送数据 这个发射器代码:
<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>
此代码接收:
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());
但是请告诉我以下错误:
不能将字符串偏移用作数组
我认为使用Jtgson的解决方案,但我不知道如何使用它
答案 0 :(得分:0)
可以通过JSON编码对象数组来完成。在$.ajax
电话中:
...
url: "insert2.php",
data: {data: JSON.stringify(data)},
...
在PHP端使用json_decode()
从JSON字符串中获取对象数组:
$data = json_decode($_POST['data']);
$course = $data[0]->data;
$category = $data[1]->data;