javascript - 在 PHP 中使用 JSON 时在字符串之前添加字符串长度

标签 javascript php json ajax

当我使用 Ajax 调用 PHP 文件并使用 javascript 字典传递 POST 变量时,该 POST 变量的值将被解析为 PHP 字典。但是,字符串值的长度会预先添加到字符串中。对于数组也是同样的道理。为什么会出现这种情况?我该如何避免这种情况? (当比较字符串时,PHP 认为 string(x) 是字符串的一部分)

编辑:字符串比较仍然有效,我仍然想知道为什么要添加它。 EDIT2:我找到了答案,这实际上是 var_dump 的一部分..

Javascript ajax 调用:

var res = $.ajax({
  type: "POST",
    data: {
      name:"STRING NAME",
      validators:{KEY: "VALUE", KEY2: "VALUE2"}
    },
  url: url,
  dataType: "json",
  async: false,
  success: function(data) {
    result=data;
  }
});

使用 PHP 在接收端转储变量

array(2) {
  ["KEY"]=>
  string(5) "VALUE"
  ["KEY2"]=>
  string(6) "VALUE2"
}

最佳答案

在您的示例中:

array(2) {
    ["KEY"]=>
    string(5) "VALUE"
    ["KEY2"]=>
    string(6) "VALUE2"
}

您会看到“string(5) "VALUE"”,因为您正在通过 var_dump() 函数进行打印。

您应该使用 print_r() 函数来隐藏数据类型。

关于javascript - 在 PHP 中使用 JSON 时在字符串之前添加字符串长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56849455/

相关文章:

javascript - MongoDB findOne() 用于从数据库检索

JavaScript 构造函数监听此变量更改

javascript - 如何在HTML页面中创建类似iphone的onclick缩放效果?

javascript - 如何从 img 标签上传图片?

php - 选择同时具有 Y 和 Z 的 X (SQL)

python - 在 Scrapy 中嵌套项目数据

python - json.dumps() : escaping forward slashes

javascript - 以编程方式打开和关闭 Chart.js 工具提示

PHP : file_get_contents with json_decode not working together

javascript - jQuery AJAX - JSONP 将文本转换为 JSON