请帮帮我: 我创建了我的对象:
var data = [];
$("#report-container [id^='report-']").each(function(index) {
var reportObject = {
"subject" : "",
"photo" : "",
"rating" : "",
"comment" : ""
};
reportObject.subject = $("#name-report-"+index).text();
reportObject.photo = $("input[name='subject-photo-"+index+"']")[0].files[0];
reportObject.rating = $("input[name='subject-rating-"+index+"']").val();
reportObject.comment = $("textarea[name='subject-comment-"+index+"']").val();
data.push(reportObject);
});
在此之后我有一个数组。我将它转换为json:
var myarray = JSON.stringify(data);
如果我登录它,它看起来像这样:
[{"subject":"Окна","rating":"0","comment":""},{"subject":"Пол","rating":"0","comment":""}]
然后我把它发送到php:
$.ajax({
type: "POST",
url: "/report-data/add_report.php",
data: { data: myarray },
async: true,
cache: false,
在php中我尝试这样做:
$data = json_decode($_POST["data"]);
echo(json_encode("this".$data));
它不起作用......
答案 0 :(得分:1)
如果您尝试此代码,您会发现您的php变量$ data是一个数组()
$data = json_decode($_POST["data"]);
var_dump($data);
然后在你的后续行中
echo(json_encode("this".$data));
哪个导致错误beacuase你不能连接字符串与数组"this".$data
所以尝试这个简单的更改。
echo("this".json_encode($data));
因为json_encode($data)
返回一个字符串,所以你可以将它与&#34连接;这个"这是字符串