从我的PHP处理文件中我收到了一个object
([object Object]
),我希望通过data[0].errors
之类的调用来访问它的内容,但所有尝试似乎都失败了我
我怎么能实现这个目标?
这是对象的样子:
" Array
(
[success] =>
[errors] => Array
(
[companyname] => Company name is required and must have 50 characters at most.
[logo1] => Logo is required.
[investment] => First investment amount is required.
[investment1] => Investment value must be an integer.
[payment] => Basic wage is required.
[payment1] => Payment value must be an integer.
[companytype] => Company type is required.
[companytype2] => Something is wrong with your company type.
)
)
"
我必须在控制台div中显示那些errors
,以向用户显示他做错了什么。
修改
这也是我的AJAX请求,要求一切都清楚。
$.ajax({
type : 'POST',
url : 'processcreatecompany.php',
data : formData,
dataType : 'json',
contentType: false,
processData: false,
encode : true
}).done(function(data) {
console.log(data);
}).fail(function(data) {
console.log(data);
})
答案 0 :(得分:3)
正如预期的那样,问题出在php部分......你正在做print_r
个对象,这些对象给出了输出它不是json
你应该使用json_encode
来返回$data
对象/数组,而不是
print_r($data['success']);
print_r($data['errors']);
你应该(也应该添加内容类型标题)
header('Content-Type: application/json');
echo json_encode($data);
稍后编辑没有标题,您通常会在text/plain
中获得data.responseText
的响应,如截图所示,并且您将不得不进行JSON解析和#34;手工&#34;。添加标头使jQuery自动进行解析,并且您将响应作为data.response<something I dont recall now>
中的对象