我有一个AJAX
请求发送到PHP服务器,PHP将一个带有json_encode
的数组返回给客户端。
数组是一个简单的2索引数组。
我从console.log()
获得的是:
{"1":"\u00d9\u0081\u00db\u008c\u00d9\u0084\u00d8\u00af title \u00d9\u0086\u00d8\u00a8\u00d8\u00a7\u00db\u008c\u00d8\u00af \u00d8\u00ae\u00d8\u00a7\u00d9\u0084\u00db\u008c \u00d8\u00a8\u00d8\u00a7\u00d8\u00b4\u00d8\u00af.","0":"FAIL"}
我认为这是ASCII charset
?我不知道,但我知道这不是波斯人的性格!!!!
这是我的PHP代码:
header ('Content-type: text/html; charset=utf-8');
$message = $validator->messages();
$response[1] = utf8_encode($message->first());
$response[0] = FAIL;
echo json_encode(($response));
虽然当我将响应设置为仅回显$message->first()
而不是json object
时,它就可以了,并且utf-8完全
答案 0 :(得分:0)
我认为您的问题是您的PHP声称内容类型为text/html
而不是application/json
。如果您更改了类型,它将告诉浏览器它应该将内容解析为JSON,并且您将在AJAX处理程序中获得一个对象。