【问题标题】:Database Text Cannot be Parsed to JSON数据库文本无法解析为 JSON
【发布时间】:2014-08-11 20:30:24
【问题描述】:

我通过使用 PHP 的 AJAX 调用从 MySQL 接收文本。当我尝试JSON.parse(string) 我得到一个错误。我验证了我的 JSON,结果发现 MYSQL 给了我一些 JSON 无法处理的 UTF-8 值,我该如何解决这个问题以便在客户端解析它?

示例 JSON:While we\u2019re still waiting...

示例 Javascript:

module.controller('OrdersController', function($scope, $http){

$http.get(base_url() + 'orders/?position=' + position)      
    .success(function(data){
    console.log(jQuery.parseJSON(data));
});

【问题讨论】:

  • 你有没有试过在输出ajax响应之前用utf8_encode包装json?
  • @shatheesh 是的,先生,我做到了,但仍然一无所获。
  • 提供更多代码和json输出,以便我们为您提供更多帮助
  • @shatheesh 根据验证器,JSON 输出的其余部分是有效的,导致问题的原因是我向您展示的部分,其他所有内容都太冗长且无关紧要。我在编辑时使用 AngularJS 添加了一些 Javascript。
  • .success(function(data){ console.log(data) })获取您的数据,如果您没有更改$httpProvider.defaults,它已经作为对象了

标签: php mysql ajax json angularjs


【解决方案1】:

$http 查看标头中的 Content-Type 并在需要时为您解析字符串为对象

所以您可以按原样使用您的 data 参数:

$http.get(base_url() + 'orders/?position=' + position).success(function(data){
    console.log(data);
});

关于$http 的一些有用信息(查看设置 HTTP 标头

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-04
    • 2015-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多