我正在尝试将一个文件和一些数据上传到我的服务器,使用Angular JS通过AJAX发出POST请求,而我的后端是Laravel 4(这并不重要)。
现在我成功将此数据传递给我的控制器。我能够做到以下几点:
$data = Input::all();
return $data;
当响应成功时,我console.log
数据输出,并产生:
Object {
imageData: "{"title":"Some Title","owner":"Owner Name","source":"Source Name"}",
file: Object
}
好的,这就是我想要的,但更具体地说我想要imageData
内的东西。
$data = Input::all();
$imageData = $data['imageData'];
return $imageData;
好的console.log
回来了:
Object {title: "Some Title", owner: "Owner Name", source: "Source Name"}
太棒了 - 但现在让我们按照这个趋势抓住个别元素:
$data = Input::all();
$imageData = $data['imageData'];
$title = $imageData['title'];
return $title;
不:500 (Internal Server Error)
。我尝试将其作为对象($title = $imageData->title
。
那么我该如何抓住里面的东西?
答案 0 :(得分:4)
您的问题是$imageData
是一个字符串。该字符串碰巧包含JSON,但它仍然是一个字符串。你可以看出它以双引号"
开头和结尾的事实,如果它实际上是JSON则不会是这种情况。
您的问题可能是您将JSON传递给了某些东西,然后将数据转换为JSON。