Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JSON.parse位置0处JSON中的意外标记_Javascript_Php_Jquery_Json - Fatal编程技术网

Javascript JSON.parse位置0处JSON中的意外标记

Javascript JSON.parse位置0处JSON中的意外标记,javascript,php,jquery,json,Javascript,Php,Jquery,Json,[解决方案]在ANSI中保存相关的.php文件解决了此问题。有关更多信息,请查看已接受的答案 当我试图解析来自PHP的JSON\u encode()的JSON时,控制台中出现了这个错误: } 这是list\u products.PHP中的PHP代码: <?php $root = $_SERVER['DOCUMENT_ROOT']; require_once $root . "/commander/class/product.php"; $product = new Product();

[解决方案]在ANSI中保存相关的.php文件解决了此问题。有关更多信息,请查看已接受的答案

当我试图解析来自PHP的
JSON\u encode()
的JSON时,控制台中出现了这个错误:

}

这是
list\u products.PHP
中的PHP代码:

<?php
$root = $_SERVER['DOCUMENT_ROOT'];
require_once $root . "/commander/class/product.php";

$product = new Product();
$productList = $product->listProducts();

if (!empty($productList) > 0) {
  echo json_encode($productList);
}else {
  echo "Error - Records are empty.";
}

缺少或无效的标题可能会导致响应以意外格式出现,在响应开始时留下不可见的“\ufeff”标记。这用于说明接收到的消息的结尾,并使其对任何接收者都可读(但在应用程序中很难使用)

在您是发件人的情况下,您需要调整标题以具有正确的字符集和内容类型

在您是接收者的情况下,您可以通过删除第一个字符并在主体上调用JSON.parse(或您的语言的等价物),将响应转换为有效的JSON

有关更多信息,请参阅此问题、答案和wiki:


您已经返回了解析过的json,在不解析它的情况下注销
products
您的else语句不会
echo
一个json字符串
console.log(products[0].code)
console.log(产品[0][“代码])
返回
未定义的
JSON是否正确回显,检查粘贴箱(即输出)删除内容类型标题,并在ajax设置中使用
数据类型:“JSON”
。谢谢,wiki链接让我发现了这个BOM的一个常见问题,通过将php文件保存在ANSI中修复了这个问题,尽管我不确定这样做是否正确。
function loadProducts() {
$.ajax({
  method: 'GET',
  dataType: 'json',
  url: 'ajax/list_products.php',
  success: function(products) {
    var json = products;
    console.log(json);
    console.log(json[0].Code);
    console.log(json[0]["Code"]);
  }
});
<?php
$root = $_SERVER['DOCUMENT_ROOT'];
require_once $root . "/commander/class/product.php";

$product = new Product();
$productList = $product->listProducts();

if (!empty($productList) > 0) {
  echo json_encode($productList);
}else {
  echo "Error - Records are empty.";
}